diff --git a/algos/demo1/algo_demo1_loadtp.m b/algos/demo1/algo_demo1_loadtp.m
index 7dbaade4c5765320c1c95813b3628ca65ac2e02e..eb3ac43d730cbf52e076a6707479625225689431 100644
--- a/algos/demo1/algo_demo1_loadtp.m
+++ b/algos/demo1/algo_demo1_loadtp.m
@@ -10,7 +10,8 @@ TP.gain             = single(2);
 TP.refmodel.gain    = single(4); % another gain used in referenced model
 TP.rowvect          = int32([1 2 3]);
 TP.colvect          = single([1 2 3]');
-TP.matrix           = int8([1 2; 3 4]);
+%TP.matrix           = int8([1 2; 3 4]);
+TP.matrix           = int8(magic(4));
 TP.fixdimvector1    = single([1 2 3 4]);
 TP.fixdimvector2    = int32([1 2 3 4]);
 TP.vectindex        = int8([1 2]);
diff --git a/algos/demo1/algoobj_demo1.m b/algos/demo1/algoobj_demo1.m
index 927d09a51a65d45f50fd76a3c174606facc2e232..d24ad264856a84cecf201ad47b86578f1ff83a94 100644
--- a/algos/demo1/algoobj_demo1.m
+++ b/algos/demo1/algoobj_demo1.m
@@ -23,11 +23,12 @@ obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.gain'          ,'gain
 obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.refmodel.gain' ,'refmodel.gain'   ,'mdshelp','a tunable gain'));
 obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.rowvect'       ,'rowvect'         ,'mdshelp','a row vector'));
 obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.colvect'       ,'colvect'         ,'mdshelp','a column vector'));
-obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.matrix'        ,'matrix'          ,'mdshelp','a matrix'));
-obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.fixdivector1'  ,'fixdimvector1'    ,'mdshelp','a fixed dimension vector','dim',4));
-obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.fixdivector2'  ,'fixdimvector2'    ,'mdshelp','a fixed dimension vector','dim',4));
+obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.matrix'        ,'matrix'          ,'mdshelp','a square matrix'));
+obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.fixdivector1'  ,'fixdimvector1'   ,'mdshelp','a fixed dimension vector','dim',4));
+obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.fixdivector2'  ,'fixdimvector2'   ,'mdshelp','a fixed dimension vector','dim',4));
 obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.vectindex%02d' ,'vectindex'       ,'mdshelp','a wildchard subst loading','startidx',1,'stopidx',2));
-
+obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.rmatrix'       ,'rmatrix'         ,'mdshelp','a rectangular matrix'));
+obj=obj.addparameter(SCDDSdemo_mdsparnumeric('demo1.params.tdmatrix'      ,'tdmatrix'        ,'mdshelp','a three dimensional matrix'));
 
 %% Wavegens
 mdsconfig = SCDDSdemo_mdsconfig();