diff --git a/source/trunk/include/CLASSFacility.hxx b/source/trunk/include/CLASSFacility.hxx
index 8950b40a20ea16961799d840e181e074bd0c5a17..e51ff9bb7af74efb2c73c4aaa2995f7611d1c4b6 100644
--- a/source/trunk/include/CLASSFacility.hxx
+++ b/source/trunk/include/CLASSFacility.hxx
@@ -159,11 +159,14 @@ public :
 
 
 	void SetInsideIV(IsotopicVector isotopicvector)	{ fInsideIV = isotopicvector; }	//!< Set the IV inside the Facility
-	void SetCreationTime(double creationtime)	{ fCreationTime = (cSecond)creationtime;} //!< Set the creation Time
-	void SetLifeTime(double lifetime)		{ fLifeTime = (cSecond)lifetime; }	//!< Set the life time of the facility
-	virtual void SetCycleTime(double cycletime)	{ fCycleTime = (cSecond)cycletime; }	//!< Set the cycle time (Cycle of the loading Plan)
-	void SetInCycleTime(double incycletime)		{ fInCycleTime = (cSecond)incycletime; fIsStarted = true; }	//!< Set the cycle time (Cycle of the loading Plan)
-	void SetInternalTime(double internaltime)	{ fInternalTime = (cSecond)internaltime; }	//!< Set the cycle time (Cycle of the loading Plan)
+
+	void SetCreationTime(cSecond CTtime)	{ fCreationTime = CTtime;}		//!< Set the creation Time
+	void SetLifeTime(cSecond Ltime)		{ fLifeTime = Ltime; }			//!< Set the life time of the facility
+	void SetShutDownTime(cSecond SDTime)	{ fLifeTime = SDTime-fCreationTime; }	//!< Set the shutdown time of the facility
+
+	void SetInCycleTime(cSecond ICtime)	{ fInCycleTime = ICtime; fIsStarted = true; }	//!< Set the In cycle time
+	void SetInternalTime(cSecond INtime)	{ fInternalTime = INtime; }		//!< Set the Internal Time
+	virtual void SetCycleTime(cSecond Ctime){ fCycleTime = Ctime; }			//!< Set the cycle time (Cycle of the loading Plan)
 
 	//@}
 
diff --git a/source/trunk/include/CLASSNucleiFiliation.hxx b/source/trunk/include/CLASSNucleiFiliation.hxx
index 47e4ffee2947631bda7e21c94e65253e15b6549e..46e6b2d4ba6c3d9814860a0d0df1a05fb8f5c67e 100644
--- a/source/trunk/include/CLASSNucleiFiliation.hxx
+++ b/source/trunk/include/CLASSNucleiFiliation.hxx
@@ -79,7 +79,7 @@ public:
 	ZAI GetArtificialDecay(ZAI Mother);			//!< Make an artificial and instantaneus decay of the ZAI, (desexcitation, or Beta decay)
 	
 	
-	void SetNucleiFIliation(map<ZAI, IsotopicVector> Fiiliation) { fNucleiFiliation = Fiiliation;}	//!< Return the full filiation list
+	void SetNucleiFIliation(map<ZAI, IsotopicVector> Fiiliation) { fNucleiFiliation = Fiiliation;}	//!< Set the full filiation list
 
 	//}
 	
@@ -103,7 +103,7 @@ public:
 	
 	void FiliationCleanUp(map<ZAI, int> GoodNuclei, CLASSNucleiFiliation CuttedNuclei);	//!< Cutting all pathway until each path ends on a nuclei in the GoodList following the CuttedNuclei. If nuclei are neither in the GoodNuclei list or in CuttedNuclei, then artificial decay are performed
 	
-	void SelfFiliationCleanUp(map<ZAI, int> GoodNuclei);	//!< Cutting all the pathway ending on a nuclei not present as a motehr nuclei
+	void SelfFiliationCleanUp(map<ZAI, int> GoodNuclei);	//!< Cutting all the pathway ending on a nuclei not present as a mother nuclei
 	
 	void NormalizeBranchingRatio(double Value = 1);		//!< Normalization of all the branching ratio to 1
 	
diff --git a/source/trunk/include/Reactor.hxx b/source/trunk/include/Reactor.hxx
index 9728d9f3da4f496a30d03f3dc97c136d1de6ddad..f7d0f8452275a585dc1630ba8aa8f5aec813d0bc 100755
--- a/source/trunk/include/Reactor.hxx
+++ b/source/trunk/include/Reactor.hxx
@@ -194,7 +194,7 @@ class Reactor : public CLASSFacility
 	IsotopicVector	GetIVInCycle()		const	{ return fIVInCycle; }		//!< Return the In Cycle IV
 	//!< (Note : IVIn != IVBegin, only if using charging plan)
 	
-	
+	cSecond GetNextCycleTime(cSecond time);
 	
 	bool	IsFuelFixed()	const	{ return fFixedFuel; }		//!< True if using fixed fuel, False otherwise
 	double	GetHeavyMetalMass() const { return fHeavyMetalMass; }	//!< Return the HeavyMetal Mass in the Core at the begining of the cycle
@@ -264,6 +264,15 @@ class Reactor : public CLASSFacility
 	void Dump();								//!< Write modification (IV In/Out, filling the TF...)
 	void SetNewFuel(EvolutionData ivdb);					//!< Change the Evolutive DB of the Reactor
 	
+#ifndef __CINT__
+
+	void AddFuel(cSecond time,  CLASSFuel fuel, double BurnUp);	//!< Add A new CLASSFuel at the corresponding time and Burnup
+	void AddFuel(cSecond time,  EvolutionData* fuel, double BurnUp)
+	{ AddFuel( time, CLASSFuel(fuel), BurnUp); }			//!< Add A new EvolutionData at the corresponding time and Burnup
+	void AddFuel(cSecond time,  PhysicsModels* fuel, double BurnUp)
+	{ AddFuel( time, CLASSFuel(fuel), BurnUp); }			//!< Add A new Physicis Model at the corresponding time and Burnup
+#endif
+
 	//@}
 	
 	
diff --git a/source/trunk/src/CLASSFacility.cxx b/source/trunk/src/CLASSFacility.cxx
index eca60a50e3083689fb8de31defa0509e88d362fc..e2c19f2c28887b0e9e64b9e3ad291b3888c9be65 100644
--- a/source/trunk/src/CLASSFacility.cxx
+++ b/source/trunk/src/CLASSFacility.cxx
@@ -58,7 +58,7 @@ CLASSFacility::CLASSFacility(CLASSLogger* log, cSecond creationtime, cSecond lif
 
 	fFacilityType = type;
 	
-	fInternalTime = 0;
+	fInternalTime = fCreationTime;
 	fInCycleTime = 0;
 	fCycleTime = -1;
 	
diff --git a/source/trunk/src/CLASSNucleiFiliation.cxx b/source/trunk/src/CLASSNucleiFiliation.cxx
index 481b6e915849bd585014d040d39184f4f25b04a2..f7ab8d0380342aae677e6473aa8da1a29a4b2f79 100644
--- a/source/trunk/src/CLASSNucleiFiliation.cxx
+++ b/source/trunk/src/CLASSNucleiFiliation.cxx
@@ -134,7 +134,7 @@ ZAI CLASSNucleiFiliation::GetArtificialDecay(ZAI Mother)
 		return ZAI(Z,A,I-1);
 	else
 	{
-		//Coef Ac & As of Bette & Weisacker are approximativ but enough precise for this application....
+		//Coef Ac & As of Bette & Weisacker are approximativ but precise enough for this application....
 		double Ac = 0.695;
 		double As = 23.2;
 		
@@ -208,7 +208,8 @@ void CLASSNucleiFiliation::SelfFiliationCleanUp(map<ZAI, int> GoodNuclei)
 			
 		}
 		fNucleiFiliation = CopyfNucleiFiliation;
-			Cleaned = true;
+		Cleaned = true;
+		
 		for(it_Filiation = fNucleiFiliation.begin(); it_Filiation != fNucleiFiliation.end(); it_Filiation++) // Loop on the mother ZAI
 		{
 			vector<ZAI> DautherList = it_Filiation->second.GetZAIList(); // Get the list of daughter ZAI
diff --git a/source/trunk/src/EquivalenceModel.cxx b/source/trunk/src/EquivalenceModel.cxx
index 2d30a29bd8ef7d0bf359d586c640d6a9da23ca94..4d6413ee8b8677a7087f1bab8d60c42f296b775e 100644
--- a/source/trunk/src/EquivalenceModel.cxx
+++ b/source/trunk/src/EquivalenceModel.cxx
@@ -88,7 +88,7 @@ bool EquivalenceModel::Build_Fuel_According_Lambda(vector<double> &lambda,vector
 	
 	SetLambda(lambda, (int)FissilArray.size(), (int)lambda.size()-1, LAMBDA_FERTILE);
 	
-	int j=-1;
+	int j = -1;
 	Fertile.Clear();
 	for(int i = (int)FissilArray.size() ; i < (int)FissilArray.size()+(int)FertilArray.size() ; i++)
 	{
diff --git a/source/trunk/src/Reactor.cxx b/source/trunk/src/Reactor.cxx
index e2281c8e9ace752cd3c6991e373723ee5172960e..2ee9f4f3d40c0584b2f16093b4e2fef980751b8a 100755
--- a/source/trunk/src/Reactor.cxx
+++ b/source/trunk/src/Reactor.cxx
@@ -603,5 +603,28 @@ DBGL
 }
 
 
+//________________________________________________________________________
+void Reactor::AddFuel(cSecond time,  CLASSFuel fuel, double BurnUp)
+{
+	DBGL
+	fFuelPlan->AddFuel(time, fuel, BurnUp);
+	DBGL
+}
+
 
+//________________________________________________________________________
+cSecond Reactor::GetNextCycleTime(cSecond time)
+{
+	DBGL
+	cSecond LastCycle = fInternalTime - fInCycleTime;
+
+	while ( LastCycle < time)
+	{
+		cSecond cycletime = (cSecond)(fFuelPlan->GetFuelAt(LastCycle).second*1e9 / (fPower)  * fHeavyMetalMass  *3600*24);
+		LastCycle += cycletime;
+	}
+	
+	DBGL
+	return LastCycle;
+}
 
diff --git a/source/trunk/src/Scenario.cxx b/source/trunk/src/Scenario.cxx
index c696153267634d1104a8eb8557638f952289976a..10de9170f8ee8f8e39a1ee3deec38ca51826b381 100755
--- a/source/trunk/src/Scenario.cxx
+++ b/source/trunk/src/Scenario.cxx
@@ -488,7 +488,7 @@ void Scenario::BuildTimeVector(cSecond t)
 		}
 
 
-		while(step <= t && step <= R_ShutDownTime )
+		while( step <= t && step <= R_ShutDownTime )
 		{
 			DBGL
 
diff --git a/source/trunk/src/SeparationPlant.cxx b/source/trunk/src/SeparationPlant.cxx
index c9781b914450c533a476ba369d0caad69d4989b5..00cae400e789c0695b8e1d1335a6fa43cbc5a445 100644
--- a/source/trunk/src/SeparationPlant.cxx
+++ b/source/trunk/src/SeparationPlant.cxx
@@ -75,6 +75,7 @@ void SeparationPlant::SetBackEndDestination(CLASSBackEnd* storagedestination, Is
 }
 
 
+//________________________________________________________________________
 void SeparationPlant::AddIV(IsotopicVector IV)
 { 
 DBGL
@@ -103,6 +104,7 @@ DBGL
 
 
 
+//________________________________________________________________________
 map<cSecond,int> SeparationPlant::GetTheBackEndTimePath()
 {
 	DBGL
@@ -131,11 +133,5 @@ map<cSecond,int> SeparationPlant::GetTheBackEndTimePath()
 
 
 //________________________________________________________________________
-//	Time Action with the reste of the Universe : 
-//		Out Storage
-//		Evolution : 
-//			Cooling
-//________________________________________________________________________
-