--- a/src/parser/scanner.l
+++ b/src/parser/scanner.l
@@ -70,14 +70,14 @@
               /*  printf( "An integer: %s (%d)\n", yytext, atoi( yytext ) );*/
                 panoScriptScannerTokenBegin(yytext); 
                 yylval.fVal = atof( yytext );
-                return PT_TOKEN_FLOAT;
+                return PT_TOKEN_NUMBER;
                }
 
 -?{DIGIT}+"."{DIGIT}* {
                /*printf( "A float: %s (%g)\n", yytext, atof( yytext ) );*/
                 panoScriptScannerTokenBegin(yytext); 
                 yylval.fVal = atof( yytext );
-                return PT_TOKEN_FLOAT;
+                return PT_TOKEN_NUMBER;
             }
 
 ^[ \t]*\n    { /* Ignore empty lines */
@@ -101,8 +101,6 @@
 
 ^v.*\n   { ; } /* Ignore v lines */
 
-^c.*\n   { ; } /* Ignore c lines */
-
   /* Hugin specific variables. When they are supported it would
   be easier to generate a new type of token for them. For the
   time being just ignore them */
@@ -110,7 +108,6 @@
 [EKVR][0-9A-Za-z.=-]+[ \t]* { panoScriptScannerTokenBegin(yytext); } /* ignore K, V,R and E parameters */
 
 
-
    /* These are the types of lines supported */
 ^o  {
              panoScriptScannerTokenBegin(yytext); 
@@ -132,16 +129,29 @@
              return PT_TOKEN_OPTIMIZE_LINE;
              }
 
+^c  {
+             panoScriptScannerTokenBegin(yytext); 
+             return PT_TOKEN_CONTROL_PT_LINE;
+             }
+
 ^C  {
              panoScriptScannerTokenBegin(yytext); 
-             return PT_TOKEN_CONTROL_PTS_LINE;
-             }
+             return PT_TOKEN_MORPH_PT_LINE;
+             }
+
 
   /*********************************/
 
 ","           { 
               panoScriptScannerTokenBegin(yytext); 
               return PT_TOKEN_COMMA; }
+
+
+[CS]        {
+               printf("Multi variable: %s\n", yytext);
+               strncpy(yylval.strVal, yytext, PT_TOKEN_MAX_LEN);
+               return PT_TOKEN_CROPPING;
+            } 
 
 
 {ID}        {
@@ -205,7 +215,7 @@
 <str>\n        {
                  /* error - unterminated string constant */
                  /* generate error message */
-                 panoScriptParserError( "non-terminated string: %s\n", yytext ); 
+                 panoScriptParserError(1,"non-terminated string: %s\n", yytext ); 
                  return -0;
                }
 
@@ -225,7 +235,7 @@
                    }
 
 .           { 
-              panoScriptParserError( "Unrecognized character: %s\n", yytext );
+              panoScriptParserError(1,"Unrecognized character: %s\n", yytext );
               return 0;
             }