diff --git a/diff_pvm.cc b/diff_pvm.cc
index 6370a029cad348676e50c7b8708a149feb08d5c1..d3f9445c7f26de530aa1ff1ef88f9fbe3e921801 100644
--- a/diff_pvm.cc
+++ b/diff_pvm.cc
@@ -201,10 +201,10 @@ void Diff_pvmModel::setparams()
     }
     clear_params();
   
-    SinPrior thtmp(1);
+    SinPrior thtmp(1,-1000*M_PI,1000*M_PI);
     add_param("th",0.2,0.02,thtmp,true,true); //Will unwrap th param before saving
-    UnifPrior phtmp(0.2,2000*M_PI);
-    add_param("ph",0, 0.02,phtmp,true,true); //Will unwrap th param before saving
+    UnifPrior phtmp(-1000*M_PI,1000*M_PI);
+    add_param("ph",0.2, 0.02,phtmp,true,true); //Will unwrap th param before saving
     UnifPrior ftmp(0,1);
     add_param("f",0.5,0.02,ftmp,true,true);
     GammaPrior dtmp(4,1.0/0.0003); //test this out,
diff --git a/dtifit.cc b/dtifit.cc
index 58b0b7c3110338af1cbd3418be160387f2cb5935..ef0911bb0a1636645181f811085d4d2c16a05bfe 100644
--- a/dtifit.cc
+++ b/dtifit.cc
@@ -206,6 +206,7 @@ int main(int argc, char** argv)
   volume<float> l1(maxx-minx,maxy-miny,maxz-minz);
   volume<float> l2(maxx-minx,maxy-miny,maxz-minz);
   volume<float> l3(maxx-minx,maxy-miny,maxz-minz);
+  volume<float> MD(maxx-minx,maxy-miny,maxz-minz);
   volume<float> FA(maxx-minx,maxy-miny,maxz-minz);
   volume<float> S0(maxx-minx,maxy-miny,maxz-minz);
   volume4D<float> V1(maxx-minx,maxy-miny,maxz-minz,3);
@@ -215,13 +216,14 @@ int main(int argc, char** argv)
   copybasicproperties(data[0],l1);
   copybasicproperties(data[0],l2);
   copybasicproperties(data[0],l3);
+  copybasicproperties(data[0],MD);
   copybasicproperties(data[0],FA);
   copybasicproperties(data[0],S0);
   copybasicproperties(data[0],V1[0]);
   copybasicproperties(data[0],V2[0]);
   copybasicproperties(data[0],V3[0]);
   if(opts.verbose.value()) cout<<"zeroing output volumes"<<endl;
-  l1=0;l2=0;l3=0;FA=0;S0=0;V1=0;V2=0;V3=0;
+  l1=0;l2=0;l3=0;MD=0;FA=0;S0=0;V1=0;V2=0;V3=0;
   if(opts.verbose.value()) cout<<"ok"<<endl;
   DiagonalMatrix evals(3);
   ColumnVector evec1(3),evec2(3),evec3(3);
@@ -245,6 +247,7 @@ int main(int argc, char** argv)
 	    l1(i-minx,j-miny,k-minz)=evals(1);
 	    l2(i-minx,j-miny,k-minz)=evals(2);
 	    l3(i-minx,j-miny,k-minz)=evals(3);
+	    MD(i-minx,j-miny,k-minz)=(evals(1)+evals(2)+evals(3))/3;
 	    FA(i-minx,j-miny,k-minz)=fa;
 	    S0(i-minx,j-miny,k-minz)=s0;
 	    V1(i-minx,j-miny,k-minz,0)=evec1(1);
@@ -295,7 +298,7 @@ int main(int argc, char** argv)
     string v1file=opts.ofile.value()+"_V1";
     string v2file=opts.ofile.value()+"_V2";
     string v3file=opts.ofile.value()+"_V3";
-
+    string MDfile=opts.ofile.value()+"_MD";
     if(opts.littlebit.value()){
       fafile+="littlebit";
       s0file+="littlebit";
@@ -305,6 +308,7 @@ int main(int argc, char** argv)
       v1file+="littlebit";
       v2file+="littlebit";
       v3file+="littlebit";
+      MDfile+="littlebit";
     }
   
     save_volume(FA,fafile,tempinfo);
@@ -312,6 +316,7 @@ int main(int argc, char** argv)
     save_volume(l1,l1file,tempinfo);
     save_volume(l2,l2file,tempinfo);
     save_volume(l3,l3file,tempinfo);
+    save_volume(MD,MDfile,tempinfo);
     save_volume4D(V1,v1file,tempinfo);
     save_volume4D(V2,v2file,tempinfo);
     save_volume4D(V3,v3file,tempinfo);
diff --git a/pt_twomasks.cc b/pt_twomasks.cc
index 8b7ed47ce71c6d4a3d5bfc4eddc197a12f388299..abe1d292d126d2ace068eb118f8381c94aaf4e87 100644
--- a/pt_twomasks.cc
+++ b/pt_twomasks.cc
@@ -257,6 +257,8 @@ void waypoints(){
   volume<int> tmpway;
   vector<bool> passed_flags; //store whether the current sample has passed through each of the waypoints
   for( unsigned int m = 0; m < masknames.size(); m++ ){
+    if(opts.verbose.value()>0)
+      cout<<masknames[m]<<endl;
     read_volume(tmpway,masknames[m]);
     waymasks.push_back(tmpway);
     passed_flags.push_back(false);