Index: /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp	(revision 17886)
+++ /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp	(revision 17887)
@@ -420,5 +420,5 @@
 	}
 	else{
-		basalelement->AddBasalInput(DamageDEnum,newdamage,element->GetElementType());
+		basalelement->AddInput(DamageDEnum,newdamage,element->GetElementType());
 	}
 
Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 17886)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 17887)
@@ -348,5 +348,5 @@
 	}
 	/*Add input to the element: */
-	element->AddBasalInput(EplHeadEnum,eplHeads,P1Enum);
+	element->AddInput(EplHeadEnum,eplHeads,P1Enum);
 
 	/*Free ressources:*/
Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 17886)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 17887)
@@ -460,7 +460,7 @@
 
 	/*Add input to the element: */
-	element->AddBasalInput(SedimentHeadEnum,values,P1Enum);
-	element->AddBasalInput(SedimentHeadResidualEnum,residual,P1Enum);
-	element->AddBasalInput(EffectivePressureEnum,pressure,P1Enum);
+	element->AddInput(SedimentHeadEnum,values,P1Enum);
+	element->AddInput(SedimentHeadResidualEnum,residual,P1Enum);
+	element->AddInput(EffectivePressureEnum,pressure,P1Enum);
 
 	/*Free ressources:*/
Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 17886)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 17887)
@@ -735,7 +735,7 @@
 
 	/*Add input to the element: */
-	element->AddBasalInput(ThicknessEnum,newthickness,P1Enum);
-	element->AddBasalInput(SurfaceEnum,newsurface,P1Enum);
-	element->AddBasalInput(BaseEnum,newbed,P1Enum);
+	element->AddInput(ThicknessEnum,newthickness,P1Enum);
+	element->AddInput(SurfaceEnum,newsurface,P1Enum);
+	element->AddInput(BaseEnum,newbed,P1Enum);
 
 	/*Free ressources:*/
Index: /issm/trunk-jpl/src/c/cores/extrudefrombase_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/extrudefrombase_core.cpp	(revision 17886)
+++ /issm/trunk-jpl/src/c/cores/extrudefrombase_core.cpp	(revision 17887)
@@ -13,19 +13,25 @@
 
 	/*Intermediaries*/
-	int elementtype;
+	int elementtype,domaintype;
 
 	if(VerboseSolution()) _printf0_("extruding solution from base...\n");
 
-	 femmodel->parameters->FindParam(&elementtype,MeshElementtypeEnum);
-	 if(elementtype==PentaEnum){
-		 int inputenum; femmodel->parameters->FindParam(&inputenum,InputToExtrudeEnum);
-		 InputExtrudex(femmodel,inputenum);
-	 }
-	 else{
-		 /*Call on core computations: */
-		 femmodel->SetCurrentConfiguration(ExtrudeFromBaseAnalysisEnum);
-		 femmodel->UpdateConstraintsExtrudeFromBasex();
-		 solutionsequence_linear(femmodel);
-	 }
+	/*Get parameters*/
+	femmodel->parameters->FindParam(&domaintype,DomainTypeEnum);
+	femmodel->parameters->FindParam(&elementtype,MeshElementtypeEnum);
 
+	/*If this is a 2D horizontal domain, return (no need to extrude)*/
+	if(domaintype==Domain2DhorizontalEnum) return;
+
+	/*Special method for Penta, otherwise call solution sequence*/
+	if(elementtype==PentaEnum){
+		int inputenum; femmodel->parameters->FindParam(&inputenum,InputToExtrudeEnum);
+		InputExtrudex(femmodel,inputenum);
+	}
+	else{
+		/*Call on core computations: */
+		femmodel->SetCurrentConfiguration(ExtrudeFromBaseAnalysisEnum);
+		femmodel->UpdateConstraintsExtrudeFromBasex();
+		solutionsequence_linear(femmodel);
+	}
 }
Index: /issm/trunk-jpl/src/c/cores/hydrology_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 17886)
+++ /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 17887)
@@ -35,5 +35,4 @@
 		
 		/*transfer water column thickness to old water column thickness: */
-		
 		InputDuplicatex(femmodel,WatercolumnEnum,WaterColumnOldEnum);
 		
@@ -61,4 +60,5 @@
 		if(VerboseSolution()) _printf0_("   computing water head\n");
 		solutionsequence_hydro_nonlinear(femmodel);
+
 		if(save_results){
 			if(VerboseSolution()) _printf0_("   saving results \n");
Index: /issm/trunk-jpl/src/c/cores/masstransport_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/masstransport_core.cpp	(revision 17886)
+++ /issm/trunk-jpl/src/c/cores/masstransport_core.cpp	(revision 17887)
@@ -48,26 +48,21 @@
 		femmodel->SetCurrentConfiguration(FreeSurfaceBaseAnalysisEnum);
 		solutionsequence_linear(femmodel);
-		if(domaintype!=Domain2DhorizontalEnum){
-			femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum);
-			extrudefrombase_core(femmodel);
-		}
+		femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum);
+		extrudefrombase_core(femmodel);
+
 		femmodel->SetCurrentConfiguration(FreeSurfaceTopAnalysisEnum);
 		solutionsequence_linear(femmodel);
-		if(domaintype!=Domain2DhorizontalEnum){
-			femmodel->parameters->SetParam(SurfaceEnum,InputToExtrudeEnum);
-			extrudefromtop_core(femmodel);
-		}
+		femmodel->parameters->SetParam(SurfaceEnum,InputToExtrudeEnum);
+		extrudefromtop_core(femmodel);
 	}
 	else{
 		if(VerboseSolution()) _printf0_("   call computational core\n");
 		solutionsequence_linear(femmodel);
-		if(domaintype==Domain2DverticalEnum){
-			femmodel->parameters->SetParam(ThicknessEnum,InputToExtrudeEnum);
-			extrudefrombase_core(femmodel);
-			femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum);
-			extrudefrombase_core(femmodel);
-			femmodel->parameters->SetParam(SurfaceEnum,InputToExtrudeEnum);
-			extrudefrombase_core(femmodel);
-		}
+		femmodel->parameters->SetParam(ThicknessEnum,InputToExtrudeEnum);
+		extrudefrombase_core(femmodel);
+		femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum);
+		extrudefrombase_core(femmodel);
+		femmodel->parameters->SetParam(SurfaceEnum,InputToExtrudeEnum);
+		extrudefrombase_core(femmodel);
 	}
 
