Index: cpp/frams/Makefile-SDK-files
===================================================================
--- cpp/frams/Makefile-SDK-files	(revision 381)
+++ cpp/frams/Makefile-SDK-files	(revision 382)
@@ -2,5 +2,5 @@
 
 # ALL_DIRS is later expanded by the shell, no spaces/newlines allowed, or it breaks
-ALL_DIRS={common,frams,frams/canvas,frams/config,frams/loggers,frams/genetics,frams/genetics/f0,frams/genetics/f1,frams/genetics/f2,frams/genetics/f3,frams/genetics/f4,frams/genetics/f5,frams/genetics/f6,frams/genetics/f7,frams/genetics/f8,frams/genetics/f9,frams/genetics/fF,frams/genetics/fT,frams/model,frams/neuro,frams/neuro/impl,frams/param,frams/test,frams/util,frams/vm/classes,frams/virtfile,frams/_demos,frams/model/geometry,frams/_demos/geometry,frams/model/similarity,frams/model/similarity/SVD}
+ALL_DIRS={common,frams,frams/canvas,frams/config,frams/loggers,frams/genetics,frams/genetics/f0,frams/genetics/f1,frams/genetics/f2,frams/genetics/f3,frams/genetics/f4,frams/genetics/f5,frams/genetics/f6,frams/genetics/f7,frams/genetics/f8,frams/genetics/f9,frams/genetics/fF,frams/genetics/fT,frams/model,frams/neuro,frams/neuro/impl,frams/param,frams/test,frams/util,frams/vm/classes,common/virtfile,frams/_demos,frams/model/geometry,frams/_demos/geometry,frams/model/similarity,frams/model/similarity/SVD}
 
 GENMANF4=frams/genetics/f4/oper_f4.o
@@ -25,46 +25,46 @@
 #### sdk_tests
 
-GENOMANIPULATION_OBJS= frams/_demos/genomanipulation.o frams/loggers/loggertostdout.o frams/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
+GENOMANIPULATION_OBJS= frams/_demos/genomanipulation.o frams/loggers/loggertostdout.o common/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
-MULTILINE_F0_OBJS=frams/_demos/multiline_f0_test.o frams/virtfile/stringfile.o frams/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
+MULTILINE_F0_OBJS=frams/_demos/multiline_f0_test.o common/virtfile/stringfile.o common/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
-F0_VARIANTS_OBJS=frams/_demos/f0_variants_test.o frams/virtfile/stringfile.o frams/virtfile/virtfile.o frams/loggers/loggertostdout.o   $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
+F0_VARIANTS_OBJS=frams/_demos/f0_variants_test.o common/virtfile/stringfile.o common/virtfile/virtfile.o frams/loggers/loggertostdout.o   $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
 
-LOADER_TEST_OBJS=frams/_demos/genotypeloader.o frams/_demos/loader_test.o frams/virtfile/virtfile.o frams/param/multiparamload.o frams/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
+LOADER_TEST_OBJS=frams/_demos/genotypeloader.o frams/_demos/loader_test.o common/virtfile/virtfile.o frams/param/multiparamload.o common/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
 
-LOADER_TEST_PARAM_OBJS=frams/_demos/loader_test_param.o frams/virtfile/virtfile.o frams/param/multiparamload.o frams/virtfile/stdiofile.o frams/loggers/loggertostdout.o $(SDK_OBJS)
+LOADER_TEST_PARAM_OBJS=frams/_demos/loader_test_param.o common/virtfile/virtfile.o frams/param/multiparamload.o common/virtfile/stdiofile.o frams/loggers/loggertostdout.o $(SDK_OBJS)
 
-GENOCONV_TEST_OBJS= frams/_demos/genoconv_test.o frams/_demos/printconvmap.o frams/loggers/loggertostdout.o frams/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
+GENOCONV_TEST_OBJS= frams/_demos/genoconv_test.o frams/_demos/printconvmap.o frams/loggers/loggertostdout.o common/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
 
-GENO_TEST_OBJS= frams/_demos/geno_test.o frams/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
+GENO_TEST_OBJS= frams/_demos/geno_test.o common/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
-GENOOPER_TEST_OBJS=frams/_demos/genooper_test.o frams/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
+GENOOPER_TEST_OBJS=frams/_demos/genooper_test.o common/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
-GENOOPER_TEST_FTEST_OBJS=frams/_demos/genooper_test_fTest.o frams/virtfile/virtfile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS) $(GENMAN_FT)
+GENOOPER_TEST_FTEST_OBJS=frams/_demos/genooper_test_fTest.o common/virtfile/virtfile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS) $(GENMAN_FT)
 
-NEURO_TEST_OBJS= frams/_demos/neuro_test.o frams/loggers/loggertostdout.o frams/virtfile/virtfile.o \
+NEURO_TEST_OBJS= frams/_demos/neuro_test.o frams/loggers/loggertostdout.o common/virtfile/virtfile.o \
 	frams/neuro/neuroimpl.o frams/neuro/neurofactory.o frams/neuro/impl/neuroimpl-simple.o frams/neuro/impl/neuroimpl-channels.o \
 	frams/neuro/impl/neuroimpl-fuzzy.o frams/neuro/impl/neuroimpl-fuzzy-f0.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
-FULL_PROPS_OBJS= frams/_demos/full_props.o frams/loggers/loggertostdout.o frams/virtfile/virtfile.o  frams/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
+FULL_PROPS_OBJS= frams/_demos/full_props.o frams/loggers/loggertostdout.o common/virtfile/virtfile.o  common/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
-SHAPECONVERT_OBJS= frams/_demos/shapeconvert.o frams/loggers/loggertostdout.o frams/virtfile/virtfile.o  frams/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
+SHAPECONVERT_OBJS= frams/_demos/shapeconvert.o frams/loggers/loggertostdout.o common/virtfile/virtfile.o  common/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
-SERIAL_TEST_OBJS= frams/_demos/serial_test.o frams/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
+SERIAL_TEST_OBJS= frams/_demos/serial_test.o common/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
 
-PART_SHAPES_OBJS= frams/_demos/part_shapes.o frams/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
+PART_SHAPES_OBJS= frams/_demos/part_shapes.o common/virtfile/virtfile.o  $(SDK_OBJS) $(GENOCONV_SDK_OBJS)
 
-NEURO_LAYOUT_TEST_OBJS= frams/_demos/neuro_layout_test.o frams/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS) frams/canvas/nn_layout_model.o frams/canvas/nn_simple_layout.o frams/canvas/nn_smart_layout.o
+NEURO_LAYOUT_TEST_OBJS= frams/_demos/neuro_layout_test.o common/virtfile/virtfile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS) frams/canvas/nn_layout_model.o frams/canvas/nn_simple_layout.o frams/canvas/nn_smart_layout.o
 
-GEOMETRY_INFO_TEST_OBJS=frams/_demos/geometry/info_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o frams/virtfile/virtfile.o frams/param/multiparamload.o frams/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
+GEOMETRY_INFO_TEST_OBJS=frams/_demos/geometry/info_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o common/virtfile/virtfile.o frams/param/multiparamload.o common/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
 
-GEOMETRY_SURFACE_TEST_OBJS=frams/_demos/geometry/surface_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o frams/virtfile/virtfile.o frams/param/multiparamload.o frams/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
+GEOMETRY_SURFACE_TEST_OBJS=frams/_demos/geometry/surface_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o common/virtfile/virtfile.o frams/param/multiparamload.o common/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
 
-GEOMETRY_VOLUME_TEST_OBJS=frams/_demos/geometry/volume_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o frams/virtfile/virtfile.o frams/param/multiparamload.o frams/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
+GEOMETRY_VOLUME_TEST_OBJS=frams/_demos/geometry/volume_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o common/virtfile/virtfile.o frams/param/multiparamload.o common/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
 
-GEOMETRY_APICES_TEST_OBJS=frams/_demos/geometry/apices_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o frams/virtfile/virtfile.o frams/param/multiparamload.o frams/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
+GEOMETRY_APICES_TEST_OBJS=frams/_demos/geometry/apices_test.o frams/_demos/geometry/geometrytestutils.o frams/_demos/genotypeloader.o common/virtfile/virtfile.o frams/param/multiparamload.o common/virtfile/stdiofile.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GEOMETRY_OBJS)
 
 SIMIL_TEST_OBJS=frams/_demos/simil_test.o frams/model/similarity/SVD/lapack.o frams/model/similarity/SVD/matrix_tools.o frams/model/similarity/simil_match.o frams/model/similarity/simil_model.o  \
-     frams/_demos/genotypeloader.o frams/virtfile/virtfile.o frams/param/multiparamload.o frams/virtfile/stdiofile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
+     frams/_demos/genotypeloader.o common/virtfile/virtfile.o frams/param/multiparamload.o common/virtfile/stdiofile.o frams/loggers/loggertostdout.o $(SDK_OBJS) $(GENOCONV_SDK_OBJS) $(GENMAN_SDK_OBJS)
 
 SIMIL_UNITTESTS_OBJS=frams/_demos/simil_unittests.o frams/model/similarity/simil_match.o
Index: cpp/frams/_demos/f0_variants_test.cpp
===================================================================
--- cpp/frams/_demos/f0_variants_test.cpp	(revision 381)
+++ cpp/frams/_demos/f0_variants_test.cpp	(revision 382)
@@ -6,5 +6,5 @@
 #include <stdio.h>
 #include <time.h>
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 
 #include <frams/genetics/defgenoconv.h>
Index: cpp/frams/_demos/full_props.cpp
===================================================================
--- cpp/frams/_demos/full_props.cpp	(revision 381)
+++ cpp/frams/_demos/full_props.cpp	(revision 382)
@@ -6,5 +6,5 @@
 #include <stdio.h>
 #include <time.h>
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 
 #include <frams/model/model.h>
Index: cpp/frams/_demos/geno_test.cpp
===================================================================
--- cpp/frams/_demos/geno_test.cpp	(revision 381)
+++ cpp/frams/_demos/geno_test.cpp	(revision 382)
@@ -3,5 +3,5 @@
 // See LICENSE.txt for details.
 
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 #include <frams/util/sstringutils.h>
 #include <frams/genetics/preconfigured.h>
Index: cpp/frams/_demos/genomanipulation.cpp
===================================================================
--- cpp/frams/_demos/genomanipulation.cpp	(revision 381)
+++ cpp/frams/_demos/genomanipulation.cpp	(revision 382)
@@ -6,5 +6,5 @@
 #include <stdio.h>
 #include <time.h>
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 
 #include <frams/model/model.h>
Index: cpp/frams/_demos/geometry/geometrytestutils.cpp
===================================================================
--- cpp/frams/_demos/geometry/geometrytestutils.cpp	(revision 381)
+++ cpp/frams/_demos/geometry/geometrytestutils.cpp	(revision 382)
@@ -6,5 +6,5 @@
 
 #include "../genotypeloader.h"
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 #include <math.h>
 #include <stdio.h>
Index: cpp/frams/_demos/loader_test.cpp
===================================================================
--- cpp/frams/_demos/loader_test.cpp	(revision 381)
+++ cpp/frams/_demos/loader_test.cpp	(revision 382)
@@ -4,5 +4,5 @@
 
 #include "genotypeloader.h"
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 
 /**
Index: cpp/frams/_demos/loader_test_param.cpp
===================================================================
--- cpp/frams/_demos/loader_test_param.cpp	(revision 381)
+++ cpp/frams/_demos/loader_test_param.cpp	(revision 382)
@@ -4,5 +4,5 @@
 
 #include <frams/param/multiparamload.h>
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 #include <frams/loggers/loggertostdout.h>
 
Index: cpp/frams/_demos/multiline_f0_test.cpp
===================================================================
--- cpp/frams/_demos/multiline_f0_test.cpp	(revision 381)
+++ cpp/frams/_demos/multiline_f0_test.cpp	(revision 382)
@@ -6,10 +6,10 @@
 #include <stdio.h>
 #include <time.h>
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 
 #include <frams/genetics/preconfigured.h>
 #include <frams/model/model.h>
 #include <frams/loggers/loggertostdout.h>
-#include <frams/virtfile/stringfile.h>
+#include <common/virtfile/stringfile.h>
 
 int main(int argc,char*argv[])
Index: cpp/frams/_demos/neuro_layout_test.cpp
===================================================================
--- cpp/frams/_demos/neuro_layout_test.cpp	(revision 381)
+++ cpp/frams/_demos/neuro_layout_test.cpp	(revision 382)
@@ -3,5 +3,5 @@
 // See LICENSE.txt for details.
 
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 #include <frams/util/sstringutils.h>
 #include <frams/genetics/preconfigured.h>
Index: cpp/frams/_demos/neuro_test.cpp
===================================================================
--- cpp/frams/_demos/neuro_test.cpp	(revision 381)
+++ cpp/frams/_demos/neuro_test.cpp	(revision 382)
@@ -4,5 +4,5 @@
 
 #include <frams/genetics/geno.h>
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 #include <frams/util/sstringutils.h>
 #include <frams/genetics/preconfigured.h>
Index: cpp/frams/_demos/shapeconvert.cpp
===================================================================
--- cpp/frams/_demos/shapeconvert.cpp	(revision 381)
+++ cpp/frams/_demos/shapeconvert.cpp	(revision 382)
@@ -6,5 +6,5 @@
 #include <stdio.h>
 #include <time.h>
-#include <frams/virtfile/stdiofile.h>
+#include <common/virtfile/stdiofile.h>
 
 #include <frams/model/model.h>
Index: cpp/frams/_demos/simil_test.cpp
===================================================================
--- cpp/frams/_demos/simil_test.cpp	(revision 381)
+++ cpp/frams/_demos/simil_test.cpp	(revision 382)
@@ -8,5 +8,5 @@
 #include "frams/_demos/genotypeloader.h"
 #include "frams/genetics/preconfigured.h"
-#include "frams/virtfile/stdiofile.h"
+#include "common/virtfile/stdiofile.h"
 #include "frams/model/similarity/simil_model.h"
 
Index: cpp/frams/loggers/loggertostdout.h
===================================================================
--- cpp/frams/loggers/loggertostdout.h	(revision 381)
+++ cpp/frams/loggers/loggertostdout.h	(revision 382)
@@ -7,5 +7,5 @@
 
 #include "loggers.h"
-#include <frams/virtfile/virtfile.h>
+#include <common/virtfile/virtfile.h>
 
 class LoggerToStdout : public LoggerBase
Index: cpp/frams/param/multiparamload.h
===================================================================
--- cpp/frams/param/multiparamload.h	(revision 381)
+++ cpp/frams/param/multiparamload.h	(revision 382)
@@ -8,5 +8,5 @@
 #include <stdio.h>
 #include "param.h"
-#include <frams/virtfile/virtfile.h>
+#include <common/virtfile/virtfile.h>
 #include <frams/util/extvalue.h>
 
Index: cpp/frams/param/param.h
===================================================================
--- cpp/frams/param/param.h	(revision 381)
+++ cpp/frams/param/param.h	(revision 382)
@@ -11,5 +11,5 @@
 #include <frams/util/list.h>
 #include <frams/util/statrick.h>
-#include <frams/virtfile/virtfile.h>
+#include <common/virtfile/virtfile.h>
 #include <common/log.h>
 
Index: cpp/frams/util/sstringutils.cpp
===================================================================
--- cpp/frams/util/sstringutils.cpp	(revision 381)
+++ cpp/frams/util/sstringutils.cpp	(revision 382)
@@ -4,5 +4,5 @@
 
 #include "sstringutils.h"
-#include <frams/virtfile/virtfile.h>
+#include <common/virtfile/virtfile.h>
 #include <common/log.h>
 #include <common/nonstd.h>
Index: cpp/frams/util/sstringutils.h
===================================================================
--- cpp/frams/util/sstringutils.h	(revision 381)
+++ cpp/frams/util/sstringutils.h	(revision 382)
@@ -7,5 +7,5 @@
 
 #include "sstring.h"
-#include <frams/virtfile/virtfile.h>
+#include <common/virtfile/virtfile.h>
 
 /// return: 1=ok 0=error
Index: cpp/frams/vm/framscript.l
===================================================================
--- cpp/frams/vm/framscript.l	(revision 381)
+++ cpp/frams/vm/framscript.l	(revision 382)
@@ -76,6 +76,6 @@
                     if (end)
                        {
-                       trctx.tmp+=SString(yytext,end-yytext);
-                       framscriptlval.setString(quoteMultiline(trctx.tmp));
+                       trctx.tmp+=string(yytext,end-yytext);
+                       framscriptlval.setString(quoteMultiline(SString(trctx.tmp.c_str())));
                        yyless((end-yytext)+3);
                        BEGIN 0;
@@ -83,5 +83,5 @@
                        }
                     else
-                       trctx.tmp+=SString(yytext,yyleng);
+                       trctx.tmp+=string(yytext,yyleng);
                     }
 <multiline>\n       {trctx.line++; trctx.linechanged=true; trctx.tmp+="\n";}
Index: cpp/frams/vm/framscript.y
===================================================================
--- cpp/frams/vm/framscript.y	(revision 381)
+++ cpp/frams/vm/framscript.y	(revision 382)
@@ -526,5 +526,5 @@
 		   trstack.adjust(+1);
 		   }
-	   trctx.tmp=0;
+	   trctx.tmp="";
 	   trctx.divertOut();
 	   //trctx.out->printf("# expr#3\n");
@@ -535,5 +535,5 @@
 	   if (!$7.constant) { trctx.out->printf("inc m0\n"); trstack.adjust(+1); }
 	   trctx.restoreOut();
-	   $$.setString(trctx.tmp);
+	   $$.setString(trctx.tmp.c_str());
 	   //trctx.out->printf("# pseudoblok_statement pos=%d\n",trstack.currentPos());
 	   }
