Index: /issm/trunk/src/c/Container/Container.h
===================================================================
--- /issm/trunk/src/c/Container/Container.h	(revision 7736)
+++ /issm/trunk/src/c/Container/Container.h	(revision 7737)
@@ -13,4 +13,5 @@
 #include "./Materials.h"
 #include "./Nodes.h"
+#include "./Options.h"
 #include "./Parameters.h"
 #include "./Results.h"
@@ -18,3 +19,2 @@
 
 #endif //ifndef _CONTAINER_H_
-
Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 7736)
+++ /issm/trunk/src/c/Makefile.am	(revision 7737)
@@ -111,6 +111,6 @@
 					./objects/KML/KML_SubStyle.cpp\
 					./objects/KML/KML_SubStyle.h\
-					./objects/Options/OptionsObject.cpp\
-					./objects/Options/OptionsObject.h\
+					./objects/Options/Option.cpp\
+					./objects/Options/Option.h\
 					./objects/Options/OptionsDouble.cpp\
 					./objects/Options/OptionsDouble.h\
@@ -270,4 +270,6 @@
 					./Container/Nodes.h\
 					./Container/Nodes.cpp\
+					./Container/Options.h\
+					./Container/Options.cpp\
 					./Container/Parameters.h\
 					./Container/Parameters.cpp\
@@ -750,6 +752,6 @@
 					./objects/KML/KML_SubStyle.cpp\
 					./objects/KML/KML_SubStyle.h\
-					./objects/Options/OptionsObject.cpp\
-					./objects/Options/OptionsObject.h\
+					./objects/Options/Option.cpp\
+					./objects/Options/Option.h\
 					./objects/Options/OptionsDouble.cpp\
 					./objects/Options/OptionsDouble.h\
@@ -863,5 +865,4 @@
 					./objects/Numerics/ElementVector.h\
 					./objects/Numerics/ElementVector.cpp\
-					./shared/Numerics/PetscOptionsFromAnalysis.cpp\
 					./objects/Params/Param.h\
 					./objects/Params/BoolParam.cpp\
@@ -906,4 +907,6 @@
 					./Container/Nodes.h\
 					./Container/Nodes.cpp\
+					./Container/Options.h\
+					./Container/Options.cpp\
 					./Container/Parameters.h\
 					./Container/Parameters.cpp\
@@ -941,4 +944,5 @@
 					./shared/Numerics/extrema.cpp\
 					./shared/Numerics/UnitConversion.cpp\
+					./shared/Numerics/PetscOptionsFromAnalysis.cpp\
 					./shared/Exceptions/exceptions.h\
 					./shared/Exceptions/Exceptions.cpp\
Index: /issm/trunk/src/c/io/OptionsParse.cpp
===================================================================
--- /issm/trunk/src/c/io/OptionsParse.cpp	(revision 7736)
+++ /issm/trunk/src/c/io/OptionsParse.cpp	(revision 7737)
@@ -15,91 +15,47 @@
 #include <mex.h>
 
-DataSet* OptionsParse( int istart, int nrhs, const mxArray* prhs[]){
-
-	int   i;
-	char* name=NULL;
-	DataSet* options=NULL;
-	OptionsObject* oobject=NULL;
-
-	options=new DataSet;
-
-/*  loop over each name and value  */
-
-	for (i=istart; i<nrhs; i=i+2) {
-		if (!mxIsChar(prhs[i]))
-			_error_("Argument %d must be name of option.",i+1);
-
-		FetchData(&name,prhs[i]);
-		if (i+1 == nrhs) {
-			_error_("Argument %d must exist and be value of option \"%s\".",i+2,name);
-		}
-
-		_printf_(true,"  Processing option \"%s\" of class \"%s\".\n",
-				 name,mxGetClassName(prhs[i+1]));
-		oobject=(OptionsObject*)OptionsObjectParse(name,&prhs[i+1]);
-		options->AddObject((Object*)oobject);
-		oobject=NULL;
-	}
-
-/*  echo the dataset  */
-
-	if (options->Size())
-		for (i=0; i<options->Size(); i++)
-			((OptionsObject *)options->GetObjectByOffset(i))->Echo();
-
-	return(options);
-}
-
-
-OptionsObject* OptionsObjectParse( char* name, const mxArray* prhs[]){
-
-	OptionsObject* oobject=NULL;
-	mxArray* lhs[1];
-
-/*  parse the value according to the matlab data type  */
-
+/*FUNCTION OptionParse{{{1*/
+Option* OptionParse(char* name, const mxArray* prhs[]){
+
+	Option *oobject = NULL;
+	mxArray       *lhs[1];
+
+	/*parse the value according to the matlab data type  */
 	if      (mxIsDouble(prhs[0]))
-		oobject=(OptionsObject*)OptionsDoubleParse(name,prhs);
+		oobject=(Option*)OptionsDoubleParse(name,prhs);
 	else if (mxIsLogical(prhs[0]))
-		oobject=(OptionsObject*)OptionsLogicalParse(name,prhs);
+		oobject=(Option*)OptionsLogicalParse(name,prhs);
 	else if (mxIsChar(prhs[0]))
-		oobject=(OptionsObject*)OptionsCharParse(name,prhs);
+		oobject=(Option*)OptionsCharParse(name,prhs);
 	else if (mxIsStruct(prhs[0]))
-		oobject=(OptionsObject*)OptionsStructParse(name,prhs);
+		oobject=(Option*)OptionsStructParse(name,prhs);
 	else if (mxIsCell(prhs[0]))
-		oobject=(OptionsObject*)OptionsCellParse(name,prhs);
+		oobject=(Option*)OptionsCellParse(name,prhs);
 	else {
-		_printf_(true,"  Converting value of option \"%s\" from unrecognized class \"%s\" to class \"%s\".\n",
-				 name,mxGetClassName(prhs[0]),"struct");
+		_printf_(true,"  Converting value of option \"%s\" from unrecognized class \"%s\" to class \"%s\".\n",name,mxGetClassName(prhs[0]),"struct");
 		if (!mexCallMATLAB(1,lhs,1,(mxArray**)prhs,"struct")) {
-			oobject=(OptionsObject*)OptionsStructParse(name,(const mxArray**)lhs);
+			oobject=(Option*)OptionsStructParse(name,(const mxArray**)lhs);
 			mxDestroyArray(lhs[0]);
 		}
-		else
-			_error_("Second argument value of option \"%s\" is of unrecognized class \"%s\".",
-					name,mxGetClassName(prhs[0]));
+		else _error_("Second argument value of option \"%s\" is of unrecognized class \"%s\".",name,mxGetClassName(prhs[0]));
 	}
 
 	return(oobject);
-}
-
-
+}/*}}}*/
+/*FUNCTION OptionsDoubleParse {{{1*/
 OptionsDouble* OptionsDoubleParse( char* name, const mxArray* prhs[]){
 
-	int   i;
-	OptionsDouble* odouble=NULL;
-	const mwSize* ipt=NULL;
-
-/*  check and parse the name  */
-
+	OptionsDouble *odouble = NULL;
+	const mwSize  *ipt     = NULL;
+
+	/*check and parse the name  */
 	odouble=new OptionsDouble;
 	odouble->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
 	strcpy(odouble->name,name);
 
-/*  check and parse the value  */
-
-	if (!mxIsDouble(prhs[0]))
-		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",
-				odouble->name,"double",odouble->name,mxGetClassName(prhs[0]));
+	/*check and parse the value  */
+	if (!mxIsDouble(prhs[0])){
+		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",odouble->name,"double",odouble->name,mxGetClassName(prhs[0]));
+	}
 
 	odouble->numel=mxGetNumberOfElements(prhs[0]);
@@ -107,39 +63,30 @@
 	ipt           =mxGetDimensions(prhs[0]);
 	odouble->size =(int *) xmalloc(odouble->ndims*sizeof(int));
-	for (i=0; i<odouble->ndims; i++)
-		odouble->size[i]=(int)ipt[i];
-
-//  note that FetchData does not correctly handle ndims >= 3
+	for (int i=0; i<odouble->ndims; i++) odouble->size[i]=(int)ipt[i];
+
+	//  note that FetchData does not correctly handle ndims >= 3
 	if (odouble->ndims > 2) {
-		_printf_(true,"WARNING -- option \"%s\" of class \"%s\" has ndims=%d and will be skipped.\n",
-				 odouble->name,mxGetClassName(prhs[0]),odouble->ndims);
-	}
-	else
-		FetchData(&odouble->values,NULL,NULL,prhs[0]);
-
-	odouble->DeepEcho();
+		_printf_(true,"WARNING -- option \"%s\" of class \"%s\" has ndims=%d and will be skipped.\n",odouble->name,mxGetClassName(prhs[0]),odouble->ndims);
+	}
+	else FetchData(&odouble->values,NULL,NULL,prhs[0]);
 
 	return(odouble);
-}
-
-
+}/*}}}*/
+/*FUNCTION OptionsLogicalParse {{{1*/
 OptionsLogical* OptionsLogicalParse( char* name, const mxArray* prhs[]){
 
-	int   i;
-	OptionsLogical* ological=NULL;
-	const mwSize* ipt=NULL;
-	bool  btemp;
-
-/*  check and parse the name  */
-
+	OptionsLogical *ological = NULL;
+	const mwSize   *ipt      = NULL;
+	bool            btemp;
+
+	/*check and parse the name  */
 	ological=new OptionsLogical;
 	ological->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
 	strcpy(ological->name,name);
 
-/*  check and parse the value  */
-
-	if (!mxIsLogical(prhs[0]))
-		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",
-				ological->name,"logical",ological->name,mxGetClassName(prhs[0]));
+	/*check and parse the value  */
+	if (!mxIsLogical(prhs[0])){
+		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",ological->name,"logical",ological->name,mxGetClassName(prhs[0]));
+	}
 
 	ological->numel=mxGetNumberOfElements(prhs[0]);
@@ -147,42 +94,34 @@
 	ipt            =mxGetDimensions(prhs[0]);
 	ological->size =(int *) xmalloc(ological->ndims*sizeof(int));
-	for (i=0; i<ological->ndims; i++)
-		ological->size[i]=(int)ipt[i];
-
-//  note that FetchData does not correctly handle non-scalar logicals
+	for (int i=0; i<ological->ndims; i++) ological->size[i]=(int)ipt[i];
+
+	//  note that FetchData does not correctly handle non-scalar logicals
 	if (ological->ndims > 2 || ological->size[0] > 1 || ological->size[1] > 1) {
-		_printf_(true,"WARNING -- option \"%s\" of class \"%s\" is more than [1x1] and will be skipped.\n",
-				 ological->name,mxGetClassName(prhs[0]));
+		_printf_(true,"WARNING -- option \"%s\" of class \"%s\" is more than [1x1] and will be skipped.\n",ological->name,mxGetClassName(prhs[0]));
 	}
 	else {
-//		FetchData(&ological->values,prhs[0]);
-//  could be memory leak until FetchData handles logical arrays
+		//FetchData(&ological->values,prhs[0]);
+		//could be memory leak until FetchData handles logical arrays
 		ological->values=(bool *) xmalloc(sizeof(bool));
 		FetchData(ological->values,prhs[0]);
 	}
 
-	ological->DeepEcho();
-
 	return(ological);
-}
-
-
+}/*}}}*/
+/*FUNCTION OptionsCharParse {{{1*/
 OptionsChar* OptionsCharParse( char* name, const mxArray* prhs[]){
 
-	int   i;
-	OptionsChar* ochar=NULL;
-	const mwSize* ipt=NULL;
-
-/*  check and parse the name  */
-
+	OptionsChar  *ochar = NULL;
+	const mwSize *ipt   = NULL;
+
+	/*check and parse the name  */
 	ochar=new OptionsChar;
 	ochar->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
 	strcpy(ochar->name,name);
 
-/*  check and parse the value  */
-
-	if (!mxIsChar(prhs[0]))
-		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",
-				ochar->name,"char",ochar->name,mxGetClassName(prhs[0]));
+	/*check and parse the value  */
+	if (!mxIsChar(prhs[0])){
+		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",ochar->name,"char",ochar->name,mxGetClassName(prhs[0]));
+	}
 
 	ochar->numel=mxGetNumberOfElements(prhs[0]);
@@ -190,42 +129,34 @@
 	ipt         =mxGetDimensions(prhs[0]);
 	ochar->size =(int *) xmalloc(ochar->ndims*sizeof(int));
-	for (i=0; i<ochar->ndims; i++)
-		ochar->size[i]=(int)ipt[i];
-
-//  note that FetchData does not correctly handle ndims >= 2 or multiple rows
+	for(int i=0; i<ochar->ndims; i++) ochar->size[i]=(int)ipt[i];
+
+	//note that FetchData does not correctly handle ndims >= 2 or multiple rows
 	if (ochar->ndims > 2 || ochar->size[0] > 1) {
-		_printf_(true,"WARNING -- option \"%s\" of class \"%s\" is more than [1xn] and will be skipped.\n",
-				 ochar->name,mxGetClassName(prhs[0]));
-	}
-	else
-		FetchData(&ochar->values,prhs[0]);
-
-	ochar->DeepEcho();
+		_printf_(true,"WARNING -- option \"%s\" of class \"%s\" is more than [1xn] and will be skipped.\n",ochar->name,mxGetClassName(prhs[0]));
+	}
+	else FetchData(&ochar->values,prhs[0]);
 
 	return(ochar);
-}
-
-
+}/*}}}*/
+/*FUNCTION OptionsStructParse {{{1*/
 OptionsStruct* OptionsStructParse( char* name, const mxArray* prhs[]){
 
-	int   i;
-	char  namei[161];
-	OptionsStruct* ostruct=NULL;
-	OptionsObject* oobject=NULL;
-	const mwSize*  ipt=NULL;
-	const mxArray* structi;
+	int            i;
+	char           namei[161];
+	OptionsStruct *ostruct    = NULL;
+	Option *oobject    = NULL;
+	const mwSize  *ipt        = NULL;
+	const mxArray *structi;
 	mwIndex        sindex;
 
-/*  check and parse the name  */
-
+	/*check and parse the name  */
 	ostruct=new OptionsStruct;
 	ostruct->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
 	strcpy(ostruct->name,name);
 
-/*  check and parse the value  */
-
-	if (!mxIsStruct(prhs[0]))
-		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",
-				ostruct->name,"struct",ostruct->name,mxGetClassName(prhs[0]));
+	/*check and parse the value  */
+	if (!mxIsStruct(prhs[0])){
+		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",ostruct->name,"struct",ostruct->name,mxGetClassName(prhs[0]));
+	}
 
 	ostruct->numel=mxGetNumberOfElements(prhs[0]);
@@ -233,21 +164,17 @@
 	ipt           =mxGetDimensions(prhs[0]);
 	ostruct->size =(int *) xmalloc(ostruct->ndims*sizeof(int));
-	for (i=0; i<ostruct->ndims; i++)
-		ostruct->size[i]=(int)ipt[i];
-	if (ostruct->numel)
-		ostruct->values=(DataSet **) xmalloc(ostruct->numel*sizeof(DataSet *));
-
-/*  loop through and process each element of the struct array  */
-
+	for (i=0; i<ostruct->ndims; i++) ostruct->size[i]=(int)ipt[i];
+	if (ostruct->numel) ostruct->values=(Options**) xmalloc(ostruct->numel*sizeof(Options *));
+
+	/*loop through and process each element of the struct array  */
 	for (sindex=0; sindex<ostruct->numel; sindex++) {
-		ostruct->values[sindex]=new DataSet;
-
-/*  loop through and process each field for the element  */
-
+		ostruct->values[sindex]=new Options;
+
+		/*loop through and process each field for the element  */
 		for (i=0; i<mxGetNumberOfFields(prhs[0]); i++) {
 			sprintf(namei,"%s.%s",name,mxGetFieldNameByNumber(prhs[0],i));
 			structi=mxGetFieldByNumber(prhs[0],sindex,i);
 
-			oobject=(OptionsObject*)OptionsObjectParse(namei,&structi);
+			oobject=(Option*)OptionParse(namei,&structi);
 			ostruct->values[sindex]->AddObject((Object*)oobject);
 			oobject=NULL;
@@ -255,33 +182,28 @@
 	}
 
-	ostruct->DeepEcho();
-
 	return(ostruct);
-}
-
-
+}/*}}}*/
+/*FUNCTION OptionsCellParse {{{1*/
 OptionsCell* OptionsCellParse( char* name, const mxArray* prhs[]){
 
-	int   i;
-	int*  dims;
-	char  namei[161];
-	char  cstr[81];
-	OptionsCell*   ocell=NULL;
-	OptionsObject* oobject=NULL;
-	const mwSize*  ipt=NULL;
-	const mxArray* celli;
+	int            i;
+	int           *dims;
+	char           namei[161];
+	char           cstr[81];
+	OptionsCell   *ocell      = NULL;
+	Option *oobject    = NULL;
+	const mwSize  *ipt        = NULL;
+	const mxArray *celli;
 	mwIndex        cindex;
 
-/*  check and parse the name  */
-
+	/*check and parse the name  */
 	ocell=new OptionsCell;
 	ocell->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
 	strcpy(ocell->name,name);
 
-/*  check and parse the value  */
-
-	if (!mxIsCell(prhs[0]))
-		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",
-				ocell->name,"cell",ocell->name,mxGetClassName(prhs[0]));
+	/*check and parse the value  */
+	if (!mxIsCell(prhs[0])){
+		_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",ocell->name,"cell",ocell->name,mxGetClassName(prhs[0]));
+	}
 
 	ocell->numel=mxGetNumberOfElements(prhs[0]);
@@ -291,21 +213,15 @@
 	for (i=0; i<ocell->ndims; i++)
 		ocell->size[i]=(int)ipt[i];
-	ocell->values=new DataSet;
-
-/*  loop through and process each element of the cell array  */
-
+	ocell->values=new Options;
+
+	/*loop through and process each element of the cell array  */
 	dims=(int *) xmalloc(ocell->ndims*sizeof(int));
 	for (cindex=0; cindex<ocell->numel; cindex++) {
-		ColumnWiseDimsFromIndex(dims,
-								(int)cindex,
-								ocell->size,
-								ocell->ndims);
-		StringFromDims(cstr,
-					   dims,
-					   ocell->ndims);
+		ColumnWiseDimsFromIndex(dims,(int)cindex,ocell->size,ocell->ndims);
+		StringFromDims(cstr,dims,ocell->ndims);
 		sprintf(namei,"%s%s",name,cstr);
 		celli=mxGetCell(prhs[0],cindex);
 
-		oobject=(OptionsObject*)OptionsObjectParse(namei,&celli);
+		oobject=(Option*)OptionParse(namei,&celli);
 		ocell->values->AddObject((Object*)oobject);
 		oobject=NULL;
@@ -313,8 +229,6 @@
 	xfree((void**)&dims);
 
-	ocell->DeepEcho();
-
 	return(ocell);
-}
+}/*}}}*/
 
 #endif
Index: /issm/trunk/src/c/io/io.h
===================================================================
--- /issm/trunk/src/c/io/io.h	(revision 7736)
+++ /issm/trunk/src/c/io/io.h	(revision 7737)
@@ -58,11 +58,10 @@
 void FetchParams(Parameters** pparameters, DataHandle dataref);
 
-DataSet* OptionsParse( int istart, int nrhs, const mxArray* prhs[]);
-OptionsObject* OptionsObjectParse( char* name, const mxArray* prhs[]);
-OptionsDouble* OptionsDoubleParse( char* name, const mxArray* prhs[]);
-OptionsLogical* OptionsLogicalParse( char* name, const mxArray* prhs[]);
-OptionsChar* OptionsCharParse( char* name, const mxArray* prhs[]);
-OptionsStruct* OptionsStructParse( char* name, const mxArray* prhs[]);
-OptionsCell* OptionsCellParse( char* name, const mxArray* prhs[]);
+Option* OptionParse(char* name, const mxArray* prhs[]);
+OptionsDouble*   OptionsDoubleParse( char* name, const mxArray* prhs[]);
+OptionsLogical*  OptionsLogicalParse( char* name, const mxArray* prhs[]);
+OptionsChar*     OptionsCharParse( char* name, const mxArray* prhs[]);
+OptionsStruct*   OptionsStructParse( char* name, const mxArray* prhs[]);
+OptionsCell*     OptionsCellParse( char* name, const mxArray* prhs[]);
 
 #endif
Index: /issm/trunk/src/c/modules/GroundingLineMigrationx/GroundingLineMigrationx.cpp
===================================================================
--- /issm/trunk/src/c/modules/GroundingLineMigrationx/GroundingLineMigrationx.cpp	(revision 7736)
+++ /issm/trunk/src/c/modules/GroundingLineMigrationx/GroundingLineMigrationx.cpp	(revision 7737)
@@ -25,5 +25,5 @@
 	if(migration_style==AgressiveMigrationEnum) AgressiveMigration(elements,nodes, vertices,loads,materials, parameters);
 	else if(migration_style==SoftMigrationEnum) SoftMigration(elements,nodes, vertices,loads,materials, parameters);
-	else if(migration_style==NoneEnum)_printf_("%s\n","NoneEnum supplied for migration style, doing nothing!");
+	else if(migration_style==NoneEnum) _printf_(true,"%s\n","NoneEnum supplied for migration style, doing nothing!");
 	else _error_("%s not supported yet!",EnumToString(migration_style));
 
Index: /issm/trunk/src/c/objects/Options/Option.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/Option.cpp	(revision 7737)
+++ /issm/trunk/src/c/objects/Options/Option.cpp	(revision 7737)
@@ -0,0 +1,115 @@
+/*!\file Option.cpp
+ * \brief: implementation of the optionsobject abstract object
+ */
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "stdio.h"
+#include <string.h>
+#include "../objects.h"
+#include "../../shared/shared.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+/*}}}*/
+
+/*Constructors/destructor/copy*/
+/*FUNCTION Option::Option(){{{1*/
+Option::Option(){
+
+	name  =NULL;
+	numel =0;
+	ndims =0;
+	size  =NULL;
+
+}
+/*}}}*/
+/*FUNCTION Option::~Option(){{{1*/
+Option::~Option(){
+
+	if(size) xfree((void**)&size);
+	if(name) xfree((void**)&name);
+
+}
+/*}}}*/
+
+/*Other*/
+/*FUNCTION Option::Echo {{{1*/
+void  Option::Echo(){
+
+	char  cstr[81];
+	bool  flag=true;
+
+	_printf_(flag,"          name: \"%s\"\n" ,name);
+	_printf_(flag,"         numel: %d\n"     ,numel);
+	_printf_(flag,"         ndims: %d\n"     ,ndims);
+	if(size){
+		StringFromSize(cstr,size,ndims);
+		_printf_(flag,"          size: %s\n" ,cstr);
+	}
+	else _printf_(flag,"          size: [empty]\n" );
+}
+/*}}}*/
+/*FUNCTION Option::DeepEcho() {{{1*/
+void  Option::DeepEcho(){
+
+	char  indent[81]="";
+
+	Option::DeepEcho(indent);
+
+	return;
+}
+/*}}}*/
+/*FUNCTION Option::DeepEcho(char* indent) {{{1*/
+void  Option::DeepEcho(char* indent){
+
+	char  cstr[81];
+	bool  flag=true;
+
+	_printf_(flag,"%s          name: \"%s\"\n" ,indent,name);
+	_printf_(flag,"%s         numel: %d\n"     ,indent,numel);
+	_printf_(flag,"%s         ndims: %d\n"     ,indent,ndims);
+	if(size){
+		StringFromSize(cstr,size,ndims);
+		_printf_(flag,"%s          size: %s\n" ,indent,cstr);
+	}
+	else _printf_(flag,"%s          size: [empty]\n" ,indent);
+}
+/*}}}*/
+/*FUNCTION Option::Name {{{1*/
+char* Option::Name(){
+
+	return(name);
+}
+/*}}}*/
+/*FUNCTION Option::NumEl {{{1*/
+int   Option::NumEl(){
+
+	return(numel);
+}
+/*}}}*/
+/*FUNCTION Option::NDims {{{1*/
+int   Option::NDims(){
+
+	return(ndims);
+}
+/*}}}*/
+/*FUNCTION Option::Size {{{1*/
+int*  Option::Size(){
+
+	return(size);
+}
+/*}}}*/
+/*FUNCTION Option::Get {{{1*/
+//void* Option::Get(){
+
+//	;
+
+//	return;
+//}
+/*}}}*/
Index: /issm/trunk/src/c/objects/Options/Option.h
===================================================================
--- /issm/trunk/src/c/objects/Options/Option.h	(revision 7737)
+++ /issm/trunk/src/c/objects/Options/Option.h	(revision 7737)
@@ -0,0 +1,52 @@
+/*! \file Option.h 
+ *  \brief: header file for optionsobject abstract object
+ */
+
+#ifndef _OPTIONSOBJECT_H_
+#define _OPTIONSOBJECT_H_
+
+/*Headers:{{{1*/
+#include "../../include/include.h"
+#include "../../shared/Exceptions/exceptions.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+
+#include "../Object.h"
+/*}}}*/
+
+class Option: public Object {
+
+	public:
+
+		char* name;
+		int   numel;
+		int   ndims;
+		int*  size;
+
+		/*Option constructors, destructors {{{1*/
+		Option();
+		~Option();
+		/*}}}*/
+		/*Object virtual functions definitions:{{{1*/
+		void  Echo();
+		void  DeepEcho();
+		void  DeepEcho(char* indent);
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   MarshallSize(){_error_("Not implemented yet");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   Enum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
+		/*}}}*/
+
+		/*virtual functions: */
+		virtual char* Name()=0;
+		virtual int   NumEl()=0;
+		virtual int   NDims()=0;
+		virtual int*  Size()=0;
+//		virtual Object* Get()=0;
+//  get by single index, multiple index, simple find, recursive find
+
+};
+#endif  /* _OPTIONSOBJECT_H */
+
Index: /issm/trunk/src/c/objects/Options/OptionsCell.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsCell.cpp	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsCell.cpp	(revision 7737)
@@ -30,5 +30,5 @@
 OptionsCell::~OptionsCell(){
 
-	if (values) {
+	if (values){
 		delete values;
 		values    =NULL;
@@ -42,24 +42,18 @@
 void  OptionsCell::Echo(){
 
-	char  cstr[81];
-	bool  flag=true;
+	char cstr[81];
+	bool flag     = true;
 
 	_printf_(flag,"OptionsCell Echo:\n");
-	OptionsObject::Echo();
+	Option::Echo();
 
 	if (values && size) {
-		StringFromSize(cstr,
-					   size,
-					   ndims);
+		StringFromSize(cstr,size,ndims);
 		_printf_(flag,"        values: %s %s\n" ,cstr,"cell");
 	}
-	else
-		_printf_(flag,"        values: [empty]\n" );
-
-	return;
+	else _printf_(flag,"        values: [empty]\n" );
 }
 /*}}}*/
-
-/*FUNCTION OptionsCell::DeepEcho {{{1*/
+/*FUNCTION OptionsCell::DeepEcho() {{{1*/
 void  OptionsCell::DeepEcho(){
 
@@ -71,6 +65,5 @@
 }
 /*}}}*/
-
-/*FUNCTION OptionsCell::DeepEcho {{{1*/
+/*FUNCTION OptionsCell::DeepEcho(char* indent) {{{1*/
 void  OptionsCell::DeepEcho(char* indent){
 
@@ -82,5 +75,5 @@
 
 	_printf_(flag,"%sOptionsCell DeepEcho:\n",indent);
-	OptionsObject::DeepEcho(indent);
+	Option::DeepEcho(indent);
 
 	strcpy(indent2,indent);
@@ -90,52 +83,39 @@
 		dims=(int *) xmalloc(ndims*sizeof(int));
 		for (i=0; i<values->Size(); i++) {
-			ColumnWiseDimsFromIndex(dims,
-									i,
-									size,
-									ndims);
-			StringFromDims(cstr,
-						   dims,
-						   ndims);
+			ColumnWiseDimsFromIndex(dims,i,size,ndims);
+			StringFromDims(cstr,dims,ndims);
 			_printf_(flag,"%s        values: %s begin\n" ,indent,cstr);
-			((OptionsObject *)values->GetObjectByOffset(i))->DeepEcho(indent2);
+			((Option *)values->GetObjectByOffset(i))->DeepEcho(indent2);
 			_printf_(flag,"%s        values: %s end\n"   ,indent,cstr);
 		}
 		xfree((void**)&dims);
 	}
-	else
-		_printf_(flag,"%s        values: [empty]\n" ,indent);
-
-	return;
+	else _printf_(flag,"%s        values: [empty]\n" ,indent);
 }
 /*}}}*/
-
 /*FUNCTION OptionsCell::Name {{{1*/
 char* OptionsCell::Name(){
 
-	return(OptionsObject::Name());
+	return(Option::Name());
 }
 /*}}}*/
-
 /*FUNCTION OptionsCell::NumEl {{{1*/
 int   OptionsCell::NumEl(){
 
-	return(OptionsObject::NumEl());
+	return(Option::NumEl());
 }
 /*}}}*/
-
 /*FUNCTION OptionsCell::NDims {{{1*/
 int   OptionsCell::NDims(){
 
-	return(OptionsObject::NDims());
+	return(Option::NDims());
 }
 /*}}}*/
-
 /*FUNCTION OptionsCell::Size {{{1*/
 int*  OptionsCell::Size(){
 
-	return(OptionsObject::Size());
+	return(Option::Size());
 }
 /*}}}*/
-
 /*FUNCTION OptionsCell::Get {{{1*/
 //void* OptionsCell::Get(){
@@ -146,38 +126,2 @@
 //}
 /*}}}*/
-
-/*FUNCTION OptionsCell::Id {{{1*/
-int   OptionsCell::Id(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsCell::MyRank {{{1*/
-int   OptionsCell::MyRank(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsCell::Marshall {{{1*/
-void  OptionsCell::Marshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsCell::MarshallSize {{{1*/
-int   OptionsCell::MarshallSize(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsCell::Demarshall {{{1*/
-void  OptionsCell::Demarshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsCell::Enum {{{1*/
-int   OptionsCell::Enum(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsCell::copy {{{1*/
-Object* OptionsCell::copy(){
-}
-/*}}}*/
-
Index: /issm/trunk/src/c/objects/Options/OptionsCell.h
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsCell.h	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsCell.h	(revision 7737)
@@ -11,12 +11,12 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-#include "./OptionsObject.h"
+#include "./Option.h"
 /*}}}*/
 
-class OptionsCell: public OptionsObject {
+class OptionsCell: public Option {
 
 	public:
 
-		DataSet* values;
+		Options* values;
 
 		/*OptionsCell constructors, destructors {{{1*/
@@ -28,11 +28,11 @@
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id();
-		int   MyRank();
-		void  Marshall(char** pmarshalled_dataset);
-		int   MarshallSize();
-		void  Demarshall(char** pmarshalled_dataset);
-		int   Enum();
-		Object* copy();
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   MarshallSize(){_error_("Not implemented yet");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   Enum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
Index: /issm/trunk/src/c/objects/Options/OptionsChar.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsChar.cpp	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsChar.cpp	(revision 7737)
@@ -43,5 +43,5 @@
 
 	_printf_(flag,"OptionsChar Echo:\n");
-	OptionsObject::Echo();
+	Option::Echo();
 
 	if (values && size) {
@@ -52,18 +52,12 @@
 		}
 		else {
-			StringFromSize(cstr,
-						   size,
-						   ndims);
+			StringFromSize(cstr,size,ndims);
 			_printf_(flag,"        values: %s %s\n" ,cstr,"char");
 		}
 	}
-	else
-		_printf_(flag,"        values: [empty]\n" );
-
-	return;
+	else _printf_(flag,"        values: [empty]\n" );
 }
 /*}}}*/
-
-/*FUNCTION OptionsChar::DeepEcho {{{1*/
+/*FUNCTION OptionsChar::DeepEcho() {{{1*/
 void  OptionsChar::DeepEcho(){
 
@@ -75,6 +69,5 @@
 }
 /*}}}*/
-
-/*FUNCTION OptionsChar::DeepEcho {{{1*/
+/*FUNCTION OptionsChar::DeepEcho(char* indent) {{{1*/
 void  OptionsChar::DeepEcho(char* indent){
 
@@ -86,5 +79,5 @@
 
 	_printf_(flag,"%sOptionsChar DeepEcho:\n",indent);
-	OptionsObject::DeepEcho(indent);
+	Option::DeepEcho(indent);
 
 	strcpy(indent2,indent);
@@ -100,11 +93,6 @@
 			dims=(int *) xmalloc(ndims*sizeof(int));
 			for (i=0; i<numel; i++) {
-				RowWiseDimsFromIndex(dims,
-									 i,
-									 size,
-									 ndims);
-				StringFromDims(cstr,
-							   dims,
-							   ndims);
+				RowWiseDimsFromIndex(dims,i,size,ndims);
+				StringFromDims(cstr,dims,ndims);
 				_printf_(flag,"%s        values%s: \"%s\"\n" ,indent,cstr,values[i]);
 			}
@@ -112,39 +100,31 @@
 		}
 	}
-	else
-		_printf_(flag,"%s        values: [empty]\n" ,indent);
-
-	return;
+	else _printf_(flag,"%s        values: [empty]\n" ,indent);
 }
 /*}}}*/
-
 /*FUNCTION OptionsChar::Name {{{1*/
 char* OptionsChar::Name(){
 
-	return(OptionsObject::Name());
+	return(Option::Name());
 }
 /*}}}*/
-
 /*FUNCTION OptionsChar::NumEl {{{1*/
 int   OptionsChar::NumEl(){
 
-	return(OptionsObject::NumEl());
+	return(Option::NumEl());
 }
 /*}}}*/
-
 /*FUNCTION OptionsChar::NDims {{{1*/
 int   OptionsChar::NDims(){
 
-	return(OptionsObject::NDims());
+	return(Option::NDims());
 }
 /*}}}*/
-
 /*FUNCTION OptionsChar::Size {{{1*/
 int*  OptionsChar::Size(){
 
-	return(OptionsObject::Size());
+	return(Option::Size());
 }
 /*}}}*/
-
 /*FUNCTION OptionsChar::Get {{{1*/
 //void* OptionsChar::Get(){
@@ -155,38 +135,2 @@
 //}
 /*}}}*/
-
-/*FUNCTION OptionsChar::Id {{{1*/
-int   OptionsChar::Id(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsChar::MyRank {{{1*/
-int   OptionsChar::MyRank(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsChar::Marshall {{{1*/
-void  OptionsChar::Marshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsChar::MarshallSize {{{1*/
-int   OptionsChar::MarshallSize(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsChar::Demarshall {{{1*/
-void  OptionsChar::Demarshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsChar::Enum {{{1*/
-int   OptionsChar::Enum(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsChar::copy {{{1*/
-Object* OptionsChar::copy(){
-}
-/*}}}*/
-
Index: /issm/trunk/src/c/objects/Options/OptionsChar.h
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsChar.h	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsChar.h	(revision 7737)
@@ -11,8 +11,8 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-#include "./OptionsObject.h"
+#include "./Option.h"
 /*}}}*/
 
-class OptionsChar: public OptionsObject {
+class OptionsChar: public Option {
 
 	public:
@@ -28,11 +28,11 @@
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id();
-		int   MyRank();
-		void  Marshall(char** pmarshalled_dataset);
-		int   MarshallSize();
-		void  Demarshall(char** pmarshalled_dataset);
-		int   Enum();
-		Object* copy();
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   MarshallSize(){_error_("Not implemented yet");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   Enum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
Index: /issm/trunk/src/c/objects/Options/OptionsDouble.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsDouble.cpp	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsDouble.cpp	(revision 7737)
@@ -43,25 +43,17 @@
 
 	_printf_(flag,"OptionsDouble Echo:\n");
-	OptionsObject::Echo();
+	Option::Echo();
 
 	if (values && size) {
-		if (numel == 1) {
-			_printf_(flag,"        values: %g\n" ,values[0]);
-		}
+		if(numel == 1) _printf_(flag,"        values: %g\n" ,values[0]);
 		else {
-			StringFromSize(cstr,
-						   size,
-						   ndims);
+			StringFromSize(cstr,size,ndims);
 			_printf_(flag,"        values: %s %s\n" ,cstr,"double");
 		}
 	}
-	else
-		_printf_(flag,"        values: [empty]\n" );
-
-	return;
+	else _printf_(flag,"        values: [empty]\n" );
 }
 /*}}}*/
-
-/*FUNCTION OptionsDouble::DeepEcho {{{1*/
+/*FUNCTION OptionsDouble::DeepEcho() {{{1*/
 void  OptionsDouble::DeepEcho(){
 
@@ -73,6 +65,5 @@
 }
 /*}}}*/
-
-/*FUNCTION OptionsDouble::DeepEcho {{{1*/
+/*FUNCTION OptionsDouble::DeepEcho(char* indent) {{{1*/
 void  OptionsDouble::DeepEcho(char* indent){
 
@@ -84,5 +75,5 @@
 
 	_printf_(flag,"%sOptionsDouble DeepEcho:\n",indent);
-	OptionsObject::DeepEcho(indent);
+	Option::DeepEcho(indent);
 
 	strcpy(indent2,indent);
@@ -91,16 +82,9 @@
 	if (values) {
 		dims=(int *) xmalloc(ndims*sizeof(int));
-		if (numel == 1) {
-			_printf_(flag,"%s        values: %g\n" ,indent,values[0]);
-		}
-		else {
+		if(numel==1) _printf_(flag,"%s        values: %g\n" ,indent,values[0]);
+		else{
 			for (i=0; i<numel; i++) {
-				RowWiseDimsFromIndex(dims,
-									 i,
-									 size,
-									 ndims);
-				StringFromDims(cstr,
-							   dims,
-							   ndims);
+				RowWiseDimsFromIndex(dims,i,size,ndims);
+				StringFromDims(cstr,dims,ndims);
 				_printf_(flag,"%s        values%s: %g\n" ,indent,cstr,values[i]);
 			}
@@ -108,39 +92,31 @@
 		xfree((void**)&dims);
 	}
-	else
-		_printf_(flag,"%s        values: [empty]\n" ,indent);
-
-	return;
+	else _printf_(flag,"%s        values: [empty]\n" ,indent);
 }
 /*}}}*/
-
 /*FUNCTION OptionsDouble::Name {{{1*/
 char* OptionsDouble::Name(){
 
-	return(OptionsObject::Name());
+	return(Option::Name());
 }
 /*}}}*/
-
 /*FUNCTION OptionsDouble::NumEl {{{1*/
 int   OptionsDouble::NumEl(){
 
-	return(OptionsObject::NumEl());
+	return(Option::NumEl());
 }
 /*}}}*/
-
 /*FUNCTION OptionsDouble::NDims {{{1*/
 int   OptionsDouble::NDims(){
 
-	return(OptionsObject::NDims());
+	return(Option::NDims());
 }
 /*}}}*/
-
 /*FUNCTION OptionsDouble::Size {{{1*/
 int*  OptionsDouble::Size(){
 
-	return(OptionsObject::Size());
+	return(Option::Size());
 }
 /*}}}*/
-
 /*FUNCTION OptionsDouble::Get {{{1*/
 //void* OptionsDouble::Get(){
@@ -151,38 +127,2 @@
 //}
 /*}}}*/
-
-/*FUNCTION OptionsDouble::Id {{{1*/
-int   OptionsDouble::Id(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsDouble::MyRank {{{1*/
-int   OptionsDouble::MyRank(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsDouble::Marshall {{{1*/
-void  OptionsDouble::Marshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsDouble::MarshallSize {{{1*/
-int   OptionsDouble::MarshallSize(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsDouble::Demarshall {{{1*/
-void  OptionsDouble::Demarshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsDouble::Enum {{{1*/
-int   OptionsDouble::Enum(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsDouble::copy {{{1*/
-Object* OptionsDouble::copy(){
-}
-/*}}}*/
-
Index: /issm/trunk/src/c/objects/Options/OptionsDouble.h
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsDouble.h	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsDouble.h	(revision 7737)
@@ -11,8 +11,8 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-#include "./OptionsObject.h"
+#include "./Option.h"
 /*}}}*/
 
-class OptionsDouble: public OptionsObject {
+class OptionsDouble: public Option {
 
 	public:
@@ -28,11 +28,11 @@
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id();
-		int   MyRank();
-		void  Marshall(char** pmarshalled_dataset);
-		int   MarshallSize();
-		void  Demarshall(char** pmarshalled_dataset);
-		int   Enum();
-		Object* copy();
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   MarshallSize(){_error_("Not implemented yet");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   Enum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
Index: /issm/trunk/src/c/objects/Options/OptionsLogical.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsLogical.cpp	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsLogical.cpp	(revision 7737)
@@ -43,25 +43,17 @@
 
 	_printf_(flag,"OptionsLogical Echo:\n");
-	OptionsObject::Echo();
+	Option::Echo();
 
 	if (values && size) {
-		if (numel == 1) {
-			_printf_(flag,"        values: %s\n" ,(values[0] ? "true" : "false"));
-		}
-		else {
-			StringFromSize(cstr,
-						   size,
-						   ndims);
+		if(numel == 1) _printf_(flag,"        values: %s\n" ,(values[0] ? "true" : "false"));
+		else{
+			StringFromSize(cstr,size,ndims);
 			_printf_(flag,"        values: %s %s\n" ,cstr,"logical");
 		}
 	}
-	else
-		_printf_(flag,"        values: [empty]\n" );
-
-	return;
+	else _printf_(flag,"        values: [empty]\n" );
 }
 /*}}}*/
-
-/*FUNCTION OptionsLogical::DeepEcho {{{1*/
+/*FUNCTION OptionsLogical::DeepEcho() {{{1*/
 void  OptionsLogical::DeepEcho(){
 
@@ -73,6 +65,5 @@
 }
 /*}}}*/
-
-/*FUNCTION OptionsLogical::DeepEcho {{{1*/
+/*FUNCTION OptionsLogical::DeepEcho(char* indent) {{{1*/
 void  OptionsLogical::DeepEcho(char* indent){
 
@@ -84,5 +75,5 @@
 
 	_printf_(flag,"%sOptionsLogical DeepEcho:\n",indent);
-	OptionsObject::DeepEcho(indent);
+	Option::DeepEcho(indent);
 
 	strcpy(indent2,indent);
@@ -90,17 +81,10 @@
 
 	if (values) {
-		if (numel == 1) {
-			_printf_(flag,"%s        values: %s\n" ,indent,(values[0] ? "true" : "false"));
-		}
-		else {
+		if(numel==1) _printf_(flag,"%s        values: %s\n" ,indent,(values[0] ? "true" : "false"));
+		else{
 			dims=(int *) xmalloc(ndims*sizeof(int));
 			for (i=0; i<numel; i++) {
-				RowWiseDimsFromIndex(dims,
-									 i,
-									 size,
-									 ndims);
-				StringFromDims(cstr,
-							   dims,
-							   ndims);
+				RowWiseDimsFromIndex(dims,i,size,ndims);
+				StringFromDims(cstr,dims,ndims);
 				_printf_(flag,"%s        values%s: %s\n" ,indent,cstr,(values[i] ? "true" : "false"));
 			}
@@ -108,39 +92,31 @@
 		}
 	}
-	else
-		_printf_(flag,"%s        values: [empty]\n" ,indent);
-
-	return;
+	else _printf_(flag,"%s        values: [empty]\n" ,indent);
 }
 /*}}}*/
-
 /*FUNCTION OptionsLogical::Name {{{1*/
 char* OptionsLogical::Name(){
 
-	return(OptionsObject::Name());
+	return(Option::Name());
 }
 /*}}}*/
-
 /*FUNCTION OptionsLogical::NumEl {{{1*/
 int   OptionsLogical::NumEl(){
 
-	return(OptionsObject::NumEl());
+	return(Option::NumEl());
 }
 /*}}}*/
-
 /*FUNCTION OptionsLogical::NDims {{{1*/
 int   OptionsLogical::NDims(){
 
-	return(OptionsObject::NDims());
+	return(Option::NDims());
 }
 /*}}}*/
-
 /*FUNCTION OptionsLogical::Size {{{1*/
 int*  OptionsLogical::Size(){
 
-	return(OptionsObject::Size());
+	return(Option::Size());
 }
 /*}}}*/
-
 /*FUNCTION OptionsLogical::Get {{{1*/
 //void* OptionsLogical::Get(){
@@ -151,38 +127,2 @@
 //}
 /*}}}*/
-
-/*FUNCTION OptionsLogical::Id {{{1*/
-int   OptionsLogical::Id(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsLogical::MyRank {{{1*/
-int   OptionsLogical::MyRank(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsLogical::Marshall {{{1*/
-void  OptionsLogical::Marshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsLogical::MarshallSize {{{1*/
-int   OptionsLogical::MarshallSize(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsLogical::Demarshall {{{1*/
-void  OptionsLogical::Demarshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsLogical::Enum {{{1*/
-int   OptionsLogical::Enum(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsLogical::copy {{{1*/
-Object* OptionsLogical::copy(){
-}
-/*}}}*/
-
Index: /issm/trunk/src/c/objects/Options/OptionsLogical.h
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsLogical.h	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsLogical.h	(revision 7737)
@@ -11,8 +11,8 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-#include "./OptionsObject.h"
+#include "./Option.h"
 /*}}}*/
 
-class OptionsLogical: public OptionsObject {
+class OptionsLogical: public Option {
 
 	public:
@@ -28,11 +28,11 @@
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id();
-		int   MyRank();
-		void  Marshall(char** pmarshalled_dataset);
-		int   MarshallSize();
-		void  Demarshall(char** pmarshalled_dataset);
-		int   Enum();
-		Object* copy();
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   MarshallSize(){_error_("Not implemented yet");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   Enum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
Index: sm/trunk/src/c/objects/Options/OptionsObject.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsObject.cpp	(revision 7736)
+++ 	(revision )
@@ -1,168 +1,0 @@
-/*!\file OptionsObject.cpp
- * \brief: implementation of the optionsobject abstract object
- */
-
-/*Headers:*/
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
-	#include "config.h"
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include "stdio.h"
-#include <string.h>
-#include "../objects.h"
-#include "../../shared/shared.h"
-#include "../../Container/Container.h"
-#include "../../include/include.h"
-/*}}}*/
-
-/*Constructors/destructor/copy*/
-/*FUNCTION OptionsObject::OptionsObject(){{{1*/
-OptionsObject::OptionsObject(){
-
-	name      =NULL;
-	numel     =0;
-	ndims     =0;
-	size      =NULL;
-
-}
-/*}}}*/
-/*FUNCTION OptionsObject::~OptionsObject(){{{1*/
-OptionsObject::~OptionsObject(){
-
-	if (size) xfree((void**)&size);
-	if (name) xfree((void**)&name);
-
-}
-/*}}}*/
-
-/*Other*/
-/*FUNCTION OptionsObject::Echo {{{1*/
-void  OptionsObject::Echo(){
-
-	char  cstr[81];
-	bool  flag=true;
-
-	_printf_(flag,"          name: \"%s\"\n" ,name);
-	_printf_(flag,"         numel: %d\n"     ,numel);
-	_printf_(flag,"         ndims: %d\n"     ,ndims);
-	if (size) {
-		StringFromSize(cstr,
-					   size,
-					   ndims);
-		_printf_(flag,"          size: %s\n" ,cstr);
-	}
-	else
-		_printf_(flag,"          size: [empty]\n" );
-
-	return;
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::DeepEcho {{{1*/
-void  OptionsObject::DeepEcho(){
-
-	char  indent[81]="";
-
-	OptionsObject::DeepEcho(indent);
-
-	return;
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::DeepEcho {{{1*/
-void  OptionsObject::DeepEcho(char* indent){
-
-	char  cstr[81];
-	bool  flag=true;
-
-	_printf_(flag,"%s          name: \"%s\"\n" ,indent,name);
-	_printf_(flag,"%s         numel: %d\n"     ,indent,numel);
-	_printf_(flag,"%s         ndims: %d\n"     ,indent,ndims);
-	if (size) {
-		StringFromSize(cstr,
-					   size,
-					   ndims);
-		_printf_(flag,"%s          size: %s\n" ,indent,cstr);
-	}
-	else
-		_printf_(flag,"%s          size: [empty]\n" ,indent);
-
-	return;
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::Name {{{1*/
-char* OptionsObject::Name(){
-
-	return(name);
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::NumEl {{{1*/
-int   OptionsObject::NumEl(){
-
-	return(numel);
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::NDims {{{1*/
-int   OptionsObject::NDims(){
-
-	return(ndims);
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::Size {{{1*/
-int*  OptionsObject::Size(){
-
-	return(size);
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::Get {{{1*/
-//void* OptionsObject::Get(){
-
-//	;
-
-//	return;
-//}
-/*}}}*/
-
-/*FUNCTION OptionsObject::Id {{{1*/
-int   OptionsObject::Id(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::MyRank {{{1*/
-int   OptionsObject::MyRank(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::Marshall {{{1*/
-void  OptionsObject::Marshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::MarshallSize {{{1*/
-int   OptionsObject::MarshallSize(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::Demarshall {{{1*/
-void  OptionsObject::Demarshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::Enum {{{1*/
-int   OptionsObject::Enum(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsObject::copy {{{1*/
-Object* OptionsObject::copy(){
-}
-/*}}}*/
-
Index: sm/trunk/src/c/objects/Options/OptionsObject.h
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsObject.h	(revision 7736)
+++ 	(revision )
@@ -1,52 +1,0 @@
-/*! \file OptionsObject.h 
- *  \brief: header file for optionsobject abstract object
- */
-
-#ifndef _OPTIONSOBJECT_H_
-#define _OPTIONSOBJECT_H_
-
-/*Headers:{{{1*/
-#include "../../include/include.h"
-#include "../../shared/Exceptions/exceptions.h"
-#include "../../EnumDefinitions/EnumDefinitions.h"
-
-#include "../Object.h"
-/*}}}*/
-
-class OptionsObject: public Object {
-
-	public:
-
-		char* name;
-		int   numel;
-		int   ndims;
-		int*  size;
-
-		/*OptionsObject constructors, destructors {{{1*/
-		OptionsObject();
-		~OptionsObject();
-		/*}}}*/
-		/*Object virtual functions definitions:{{{1*/
-		void  Echo();
-		void  DeepEcho();
-		void  DeepEcho(char* indent);
-		int   Id();
-		int   MyRank();
-		void  Marshall(char** pmarshalled_dataset);
-		int   MarshallSize();
-		void  Demarshall(char** pmarshalled_dataset);
-		int   Enum();
-		Object* copy();
-		/*}}}*/
-
-		/*virtual functions: */
-		virtual char* Name()=0;
-		virtual int   NumEl()=0;
-		virtual int   NDims()=0;
-		virtual int*  Size()=0;
-//		virtual Object* Get()=0;
-//  get by single index, multiple index, simple find, recursive find
-
-};
-#endif  /* _OPTIONSOBJECT_H */
-
Index: /issm/trunk/src/c/objects/Options/OptionsStruct.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsStruct.cpp	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsStruct.cpp	(revision 7737)
@@ -32,6 +32,6 @@
 	int   i;
 
-	if (values) {
-		for (i=0; i<numel; i++) {
+	if(values){
+		for(i=0; i<numel; i++) {
 			delete values[i];
 			values[i] =NULL;
@@ -51,20 +51,14 @@
 
 	_printf_(flag,"OptionsStruct Echo:\n");
-	OptionsObject::Echo();
+	Option::Echo();
 
 	if (values && size) {
-		StringFromSize(cstr,
-					   size,
-					   ndims);
+		StringFromSize(cstr,size,ndims);
 		_printf_(flag,"        values: %s %s\n" ,cstr,"struct");
 	}
-	else
-		_printf_(flag,"        values: [empty]\n" );
-
-	return;
+	else _printf_(flag,"        values: [empty]\n" );
 }
 /*}}}*/
-
-/*FUNCTION OptionsStruct::DeepEcho {{{1*/
+/*FUNCTION OptionsStruct::DeepEcho() {{{1*/
 void  OptionsStruct::DeepEcho(){
 
@@ -76,6 +70,5 @@
 }
 /*}}}*/
-
-/*FUNCTION OptionsStruct::DeepEcho {{{1*/
+/*FUNCTION OptionsStruct::DeepEcho(char* indent) {{{1*/
 void  OptionsStruct::DeepEcho(char* indent){
 
@@ -87,5 +80,5 @@
 
 	_printf_(flag,"%sOptionsStruct DeepEcho:\n",indent);
-	OptionsObject::DeepEcho(indent);
+	Option::DeepEcho(indent);
 
 	strcpy(indent2,indent);
@@ -93,59 +86,44 @@
 
 	if (values) {
-		dims=(int *) xmalloc(ndims*sizeof(int));
+		dims=(int *)xmalloc(ndims*sizeof(int));
 		for (i=0; i<numel; i++) {
-			ColumnWiseDimsFromIndex(dims,
-									i,
-									size,
-									ndims);
-			StringFromDims(cstr,
-						   dims,
-						   ndims);
-			if (values[i]->Size()) {
+			ColumnWiseDimsFromIndex(dims,i,size,ndims);
+			StringFromDims(cstr,dims,ndims);
+			if (values[i]->Size()){
 				_printf_(flag,"%s        values: %s begin\n" ,indent,cstr);
-				for (j=0; j<values[i]->Size(); j++)
-					((OptionsObject *)values[i]->GetObjectByOffset(j))->DeepEcho(indent2);
+				for (j=0; j<values[i]->Size(); j++) ((Option *)values[i]->GetObjectByOffset(j))->DeepEcho(indent2);
 				_printf_(flag,"%s        values: %s end\n"   ,indent,cstr);
 			}
-			else
-				_printf_(flag,"%s        values: %s [empty]\n" ,indent,cstr);
+			else _printf_(flag,"%s        values: %s [empty]\n" ,indent,cstr);
 		}
 		xfree((void**)&dims);
 	}
-	else
-		_printf_(flag,"%s        values: [empty]\n" ,indent);
-
-	return;
+	else _printf_(flag,"%s        values: [empty]\n" ,indent);
 }
 /*}}}*/
-
 /*FUNCTION OptionsStruct::Name {{{1*/
 char* OptionsStruct::Name(){
 
-	return(OptionsObject::Name());
+	return(Option::Name());
 }
 /*}}}*/
-
 /*FUNCTION OptionsStruct::NumEl {{{1*/
 int   OptionsStruct::NumEl(){
 
-	return(OptionsObject::NumEl());
+	return(Option::NumEl());
 }
 /*}}}*/
-
 /*FUNCTION OptionsStruct::NDims {{{1*/
 int   OptionsStruct::NDims(){
 
-	return(OptionsObject::NDims());
+	return(Option::NDims());
 }
 /*}}}*/
-
 /*FUNCTION OptionsStruct::Size {{{1*/
 int*  OptionsStruct::Size(){
 
-	return(OptionsObject::Size());
+	return(Option::Size());
 }
 /*}}}*/
-
 /*FUNCTION OptionsStruct::Get {{{1*/
 //void* OptionsStruct::Get(){
@@ -156,38 +134,2 @@
 //}
 /*}}}*/
-
-/*FUNCTION OptionsStruct::Id {{{1*/
-int   OptionsStruct::Id(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsStruct::MyRank {{{1*/
-int   OptionsStruct::MyRank(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsStruct::Marshall {{{1*/
-void  OptionsStruct::Marshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsStruct::MarshallSize {{{1*/
-int   OptionsStruct::MarshallSize(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsStruct::Demarshall {{{1*/
-void  OptionsStruct::Demarshall(char** pmarshalled_dataset){
-}
-/*}}}*/
-
-/*FUNCTION OptionsStruct::Enum {{{1*/
-int   OptionsStruct::Enum(){
-}
-/*}}}*/
-
-/*FUNCTION OptionsStruct::copy {{{1*/
-Object* OptionsStruct::copy(){
-}
-/*}}}*/
-
Index: /issm/trunk/src/c/objects/Options/OptionsStruct.h
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsStruct.h	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsStruct.h	(revision 7737)
@@ -11,12 +11,12 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-#include "./OptionsObject.h"
+#include "./Option.h"
 /*}}}*/
 
-class OptionsStruct: public OptionsObject {
+class OptionsStruct: public Option {
 
 	public:
 
-		DataSet** values;
+		Options** values;
 
 		/*OptionsStruct constructors, destructors {{{1*/
@@ -28,11 +28,11 @@
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id();
-		int   MyRank();
-		void  Marshall(char** pmarshalled_dataset);
-		int   MarshallSize();
-		void  Demarshall(char** pmarshalled_dataset);
-		int   Enum();
-		Object* copy();
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   MarshallSize(){_error_("Not implemented yet");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet");};
+		int   Enum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
Index: /issm/trunk/src/c/objects/Options/OptionsUtilities.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsUtilities.cpp	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsUtilities.cpp	(revision 7737)
@@ -19,22 +19,15 @@
 /*}}}*/
 
-int ColumnWiseDimsFromIndex(int* dims,
-							int index,
-							int* size,
-							int ndims) {
+/*FUNCTION ColumnWiseDimsFromIndex{{{1*/
+int ColumnWiseDimsFromIndex(int* dims,int index,int* size,int ndims){
 
 	int   i;
 	int   aprod=1;
 
-/*  check for index too large  */
+	/*check for index too large  */
+	for (i=0;i<ndims;i++) aprod*=size[i];
+	if (index >= aprod) _error_("Index %d exceeds number of elements %d.",index,aprod);
 
-	for (i=0; i<ndims; i++)
-		aprod*=size[i];
-
-	if (index >= aprod)
-		_error_("Index %d exceeds number of elements %d.",index,aprod);
-
-/*  calculate the dimensions (being careful of integer division)  */
-
+	/*calculate the dimensions (being careful of integer division)  */
 	for (i=ndims-1; i>=0; i--) {
 		aprod=(int)(((double)aprod+0.5)/(double)size[i]);
@@ -44,22 +37,18 @@
 
 	return(0);
-}
-
-int IndexFromColumnWiseDims(int* dims,
-							int* size,
-							int ndims) {
+}/*}}}*/
+/*FUNCTION IndexFromColumnWiseDims{{{1*/
+int IndexFromColumnWiseDims(int* dims, int* size, int ndims) {
 
 	int   i;
 	int   index=0;
 
-/*  check for any dimension too large  */
+	/*check for any dimension too large  */
+	for (i=0;i<ndims;i++){
+		if (dims[i] >= size[i]) _error_("Dimension %d of %d exceeds size of %d.",i,dims[i],size[i]);
+	}
 
-	for (i=0; i<ndims; i++)
-		if (dims[i] >= size[i])
-			_error_("Dimension %d of %d exceeds size of %d.",i,dims[i],size[i]);
-
-/*  calculate the index  */
-
-	for (i=ndims-1; i>=0; i--) {
+	/*calculate the index  */
+	for (i=ndims-1; i>=0; i--){
 		index*=size[i];
 		index+=dims[i];
@@ -67,25 +56,16 @@
 
 	return(index);
-}
-
-
-int RowWiseDimsFromIndex(int* dims,
-						 int index,
-						 int* size,
-						 int ndims) {
+}/*}}}*/
+/*FUNCTION RowWiseDimsFromIndex{{{1*/
+int RowWiseDimsFromIndex(int* dims, int index, int* size, int ndims) {
 
 	int   i;
 	int   aprod=1;
 
-/*  check for index too large  */
+	/*check for index too large  */
+	for (i=0; i<ndims; i++) aprod*=size[i];
+	if (index >= aprod) _error_("Index %d exceeds number of elements %d.",index,aprod);
 
-	for (i=0; i<ndims; i++)
-		aprod*=size[i];
-
-	if (index >= aprod)
-		_error_("Index %d exceeds number of elements %d.",index,aprod);
-
-/*  calculate the dimensions (being careful of integer division)  */
-
+	/*calculate the dimensions (being careful of integer division)  */
 	for (i=0; i<ndims; i++) {
 		aprod=(int)(((double)aprod+0.5)/(double)size[i]);
@@ -95,22 +75,17 @@
 
 	return(0);
-}
-
-
-int IndexFromRowWiseDims(int* dims,
-						 int* size,
-						 int ndims) {
+}/*}}}*/
+/*FUNCTION IndexFromRowWiseDims{{{1*/
+int IndexFromRowWiseDims(int* dims, int* size, int ndims) {
 
 	int   i;
 	int   index=0;
 
-/*  check for any dimension too large  */
+	/*check for any dimension too large  */
+	for (i=0; i<ndims; i++){
+		if (dims[i] >= size[i]) _error_("Dimension %d of %d exceeds size of %d.",i,dims[i],size[i]);
+	}
 
-	for (i=0; i<ndims; i++)
-		if (dims[i] >= size[i])
-			_error_("Dimension %d of %d exceeds size of %d.",i,dims[i],size[i]);
-
-/*  calculate the index  */
-
+	/*calculate the index  */
 	for (i=0; i<ndims; i++) {
 		index*=size[i];
@@ -119,34 +94,21 @@
 
 	return(index);
-}
-
-
-int StringFromDims(char* cstr,
-				   int* dims,
-				   int ndims) {
-
-	int   i;
+}/*}}}*/
+/*FUNCTION StringFromDims{{{1*/
+int StringFromDims(char* cstr, int* dims, int ndims) {
 
 	sprintf(&cstr[0],"[");
-	for (i=0; i<ndims-1; i++)
-		sprintf(&cstr[strlen(cstr)],"%d,",dims[i]);
+	for(int i=0; i<ndims-1; i++) sprintf(&cstr[strlen(cstr)],"%d,",dims[i]);
 	sprintf(&cstr[strlen(cstr)],"%d]",dims[ndims-1]);
 
 	return(0);
-}
-
-
-int StringFromSize(char* cstr,
-				   int* size,
-				   int ndims) {
-
-	int   i;
+}/*}}}*/
+/*FUNCTION StringFromSize{{{1*/
+int StringFromSize(char* cstr, int* size, int ndims) {
 
 	sprintf(&cstr[0],"[");
-	for (i=0; i<ndims-1; i++)
-		sprintf(&cstr[strlen(cstr)],"%dx",size[i]);
+	for(int i=0; i<ndims-1; i++) sprintf(&cstr[strlen(cstr)],"%dx",size[i]);
 	sprintf(&cstr[strlen(cstr)],"%d]",size[ndims-1]);
 
 	return(0);
-}
-
+}/*}}}*/
Index: /issm/trunk/src/c/objects/Options/OptionsUtilities.h
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionsUtilities.h	(revision 7736)
+++ /issm/trunk/src/c/objects/Options/OptionsUtilities.h	(revision 7737)
@@ -11,27 +11,13 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-#include "./OptionsObject.h"
+#include "./Option.h"
 /*}}}*/
 
-int ColumnWiseDimsFromIndex(int* dims,
-							int index,
-							int* size,
-							int ndims);
-int IndexFromColumnWiseDims(int* dims,
-							int* size,
-							int ndims);
-int RowWiseDimsFromIndex(int* dims,
-						 int index,
-						 int* size,
-						 int ndims);
-int IndexFromRowWiseDims(int* dims,
-						 int* size,
-						 int ndims);
-int StringFromDims(char* cstr,
-				   int* dims,
-				   int ndims);
-int StringFromSize(char* cstr,
-				   int* size,
-				   int ndims);
+int ColumnWiseDimsFromIndex(int* dims, int index, int* size, int ndims);
+int IndexFromColumnWiseDims(int* dims, int* size, int ndims);
+int RowWiseDimsFromIndex(int* dims, int index, int* size, int ndims);
+int IndexFromRowWiseDims(int* dims, int* size, int ndims);
+int StringFromDims(char* cstr, int* dims, int ndims);
+int StringFromSize(char* cstr, int* size, int ndims);
 
 #endif  /* _OPTIONSUTILITIES_H */
Index: /issm/trunk/src/c/objects/Params/Param.h
===================================================================
--- /issm/trunk/src/c/objects/Params/Param.h	(revision 7736)
+++ /issm/trunk/src/c/objects/Params/Param.h	(revision 7737)
@@ -27,5 +27,4 @@
 
 	public: 
-		
 		virtual        ~Param(){};
 
Index: /issm/trunk/src/c/objects/objects.h
===================================================================
--- /issm/trunk/src/c/objects/objects.h	(revision 7736)
+++ /issm/trunk/src/c/objects/objects.h	(revision 7737)
@@ -64,5 +64,5 @@
 
 /*Option parsing objects: */
-#include "./Options/OptionsObject.h"
+#include "./Options/Option.h"
 #include "./Options/OptionsDouble.h"
 #include "./Options/OptionsLogical.h"
Index: /issm/trunk/src/c/shared/Matlab/ModuleBoot.cpp
===================================================================
--- /issm/trunk/src/c/shared/Matlab/ModuleBoot.cpp	(revision 7736)
+++ /issm/trunk/src/c/shared/Matlab/ModuleBoot.cpp	(revision 7737)
@@ -17,5 +17,5 @@
 int ModuleBoot(void){
 	
-	/*Declare my_ rank and num_procs global variables!: */
+	/*Declare my_rank and num_procs global variables!: */
 	my_rank=0;
 	num_procs=1;
Index: /issm/trunk/src/c/shared/Matlab/PrintfFunction.cpp
===================================================================
--- /issm/trunk/src/c/shared/Matlab/PrintfFunction.cpp	(revision 7736)
+++ /issm/trunk/src/c/shared/Matlab/PrintfFunction.cpp	(revision 7737)
@@ -24,5 +24,5 @@
 	//First use vsprintf to get the whole input string.
 	va_start(ap,format);
-	 #ifndef WIN32
+	#ifndef WIN32
 	string_size=vsprintf(string,format,ap); //printf style coding 
 	#else
@@ -40,4 +40,2 @@
 	return 1;
 }
-
-
