Index: /cpp/frams/Makefile-GDK-files
===================================================================
--- /cpp/frams/Makefile-GDK-files	(revision 140)
+++ /cpp/frams/Makefile-GDK-files	(revision 141)
@@ -5,5 +5,7 @@
 
 GENOCONV_GDK_OBJS=frams/genetics/f1/conv_f1.o frams/genetics/f9/conv_f9.o frams/genetics/fF/conv_fF.o
-GENMAN_GDK_OBJS=frams/genetics/f9/oper_f9.o frams/genetics/fF/oper_fF.o
+
+GENMAN_COMMON_OBJS=frams/genetics/genman.o frams/param/mutableparam.o frams/param/mutparamlist.o frams/neuro/geneticneuroparam.o frams/neuro/neurolibparam.o frams/vm/classes/genoobj.o frams/model/autoname.o
+GENMAN_GDK_OBJS=$(GENMAN_COMMON_OBJS) frams/genetics/f9/oper_f9.o frams/genetics/fF/oper_fF.o
 
 GDK_OBJS=frams/util/list.o frams/util/advlist.o frams/param/param.o frams/util/sstring.o frams/util/sstringutils.o frams/util/3d.o frams/vm/classes/3dobject.o frams/model/model.o frams/model/modelparts.o frams/neuro/neurolibrary.o frams/genetics/geno.o frams/genetics/genoconv.o frams/util/extvalue.o frams/vm/classes/collectionobj.o frams/util/hashtable.o common/framsg.o frams/util/callbacks.o frams/param/syntparam.o frams/util/multirange.o frams/util/multimap.o frams/param/paramtabobj.o frams/genetics/defgenoconv.o frams/errmgr/errmanager.o frams/param/paramobj.o frams/genetics/oper_fx.o common/nonstd_math.o frams/errmgr/stderrors.o common/Convert.o frams/util/rndutil.o
@@ -22,5 +24,5 @@
 GENOCONV_TEST_OBJS= frams/_demos/genoconv_test.o frams/_demos/printconvmap.o frams/errmgr/stdouterr.o frams/virtfile/virtfile.o  $(GDK_OBJS) $(GENOCONV_GDK_OBJS)
 
-GENO_TEST_OBJS= frams/_demos/geno_test.o frams/virtfile/virtfile.o   $(GDK_OBJS) $(GENOCONV_GDK_OBJS)
+GENO_TEST_OBJS= frams/_demos/geno_test.o frams/virtfile/virtfile.o   $(GDK_OBJS) $(GENOCONV_GDK_OBJS) $(GENMAN_GDK_OBJS)
 
 NEURO_TEST_OBJS= frams/_demos/neuro_test.o frams/errmgr/stdouterr.o frams/virtfile/virtfile.o \
@@ -36,3 +38,3 @@
 NEURO_LAYOUT_TEST_OBJS= frams/_demos/neuro_layout_test.o frams/virtfile/virtfile.o frams/errmgr/stdouterr.o $(GDK_OBJS) $(GENOCONV_GDK_OBJS) frams/canvas/nn_layout_model.o frams/canvas/nn_simple_layout.o frams/canvas/nn_smart_layout.o
 
-GENOOPER_TEST_OBJS=frams/_demos/genooper_test.o frams/virtfile/virtfile.o frams/errmgr/stdouterr.o $(GDK_OBJS) $(GENOCONV_GDK_OBJS) $(GENMAN_GDK_OBJS) frams/genetics/genman.o frams/param/mutableparam.o frams/param/mutparamlist.o frams/neuro/geneticneuroparam.o frams/neuro/neurolibparam.o frams/vm/classes/genoobj.o frams/model/autoname.o
+GENOOPER_TEST_OBJS=frams/_demos/genooper_test.o frams/virtfile/virtfile.o frams/errmgr/stdouterr.o $(GDK_OBJS) $(GENOCONV_GDK_OBJS) $(GENMAN_GDK_OBJS)
Index: /cpp/frams/_demos/geno_test.cpp
===================================================================
--- /cpp/frams/_demos/geno_test.cpp	(revision 140)
+++ /cpp/frams/_demos/geno_test.cpp	(revision 141)
@@ -7,4 +7,5 @@
 #include <frams/util/sstringutils.h>
 #include <frams/genetics/defgenoconv.h>
+#include <frams/genetics/genman.h>
 
 /**
@@ -19,4 +20,8 @@
 int main(int argc,char*argv[])
 {
+GenMan gm;
+Geno::validators.insert(0,&gm); //GenMan is available in this application so let's use the extended validity checking!
+// Note: insert() makes it the first validator in the list, this is important for formats that rely on genetic operators to perform reasonable validation,
+// otherwise the default validator (genotype converter) would "win" and most converters are less strict in detecting invalid genotypes.
 if (argc<=1)
 	{
Index: /cpp/frams/_demos/genooper_test.cpp
===================================================================
--- /cpp/frams/_demos/genooper_test.cpp	(revision 140)
+++ /cpp/frams/_demos/genooper_test.cpp	(revision 141)
@@ -5,6 +5,8 @@
 #include <frams/genetics/genman.h>
 #include <frams/errmgr/stdouterr.h>
+#include <frams/genetics/defgenoconv.h>
 
 StdoutErrorHandler err;
+DefaultGenoConvManager gcm; //without this object the application would only handle "format 0" genotypes
 
 void printGen(Geno &g)
@@ -24,4 +26,7 @@
 {
 	GenMan gm;
+	Geno::validators.insert(0,&gm); //GenMan is available in this application so let's use the extended validity checking!
+	// Note: insert() makes it the first validator in the list, this is important for formats that rely on genetic operators to perform reasonable validation,
+	// otherwise the default validator (genotype converter) would "win" and most converters are less strict in detecting invalid genotypes.
 	gm.p_report(NULL, NULL);
 
