diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
index 40b55a97a63754d1aaf30df91212a88d3dbefb3b..c8d11733339ccdffd33d4cb8fcd04ff8fcbd1971 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
@@ -61,6 +61,7 @@ FitParams2K2PiGam::FitParams2K2PiGam()
   _jpclsMap[paramEnum2K2PiGam::ChiToK_1_2400K]=theStates.ChiToK1400ToK892piStates();
   _jpclsMap[paramEnum2K2PiGam::K_1_2400Tof980K]=theStates.K1pTof0KStates();
   _jpclsMap[paramEnum2K2PiGam::K892K_1_1680]=theStates.ChiTo2K892States();
+  _jpclsMap[paramEnum2K2PiGam::ChiToK1680K1680]=theStates.ChiTo2K892States();
   _jpclsMap[paramEnum2K2PiGam::K892K_1_2300]=theStates.ChiTo2K892States();
   _jpclsMap[paramEnum2K2PiGam::sigmaf980]=theStates.ChiTof0f0States();
   _jpclsMap[paramEnum2K2PiGam::ChiToSigmaf1370]=theStates.ChiTof0f0States();
@@ -159,6 +160,7 @@ std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collecti
   else if (index==paramEnum2K2PiGam::ChiToK_1_2400K) return params.ChiToK_1_2400K;
   else if (index==paramEnum2K2PiGam::K_1_2400Tof980K) return params.K_1_2400Tof980K;
   else if (index==paramEnum2K2PiGam::K892K_1_1680) return params.ChiToK892K1680;
+  else if (index==paramEnum2K2PiGam::ChiToK1680K1680) return params.ChiToK1680K1680;
   else if (index==paramEnum2K2PiGam::K892K_1_2300) return params.ChiToK892K2300;
   else if (index==paramEnum2K2PiGam::sigmaf980) return params.ChiToSigmaf980;
   else if (index==paramEnum2K2PiGam::ChiToSigmaf1370) return params.ChiToSigmaf1370;
diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
index b4f0566b45a79031d3c73715d0524609147db5a2..dca54f65954f60fa72c3e4cb06e308a842c60278 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
@@ -75,6 +75,7 @@ struct param2K2PiGam
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToKappaK_0_1430;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToKappaK_0_1950;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K1680;
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK1680K1680;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K2300;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > K_0_1460ToK892Pi;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > K_0_1460ToK_0_1430Pi;
@@ -149,7 +150,7 @@ struct paramEnum2K2PiGam{
 	ChiToK_1_2400K, K_1_2400Tof980K,
 	f980_pif1710_k, f980_kf1710_pi, f980f980, f980f2200, ChiTof980f_2_2300, ChiTof_2_2300sigma, 
 	f980_pif1370_k, f980_kf1370_pi, f980_pif1500_k, f980_kf1500_pi, f1710_pif1370_k, f1710_kf1370_pi,
-	K_0_2400KToKf980, ChiToK_0_2400ToKf_0_1710, K892K_1_1680, K892K_1_2300, 
+	K_0_2400KToKf980, ChiToK_0_2400ToKf_0_1710, K892K_1_1680, ChiToK1680K1680, K892K_1_2300, 
 	sigmaf980, ChiToSigmaf1370, sigmaf1710, sigmaf2200, K_0_1460ToK892Pi, K_0_1460ToK_0_1430Pi, K_0_1830ToK892Pi, K_0_1830ToK_0_1430Pi, 
 	f980_pif_2_1270_k, f980_kf_2_1270_pi, f980_pif_2_1430_k, f980_kf_2_1430_pi, f980_pif_2_1525_k, f980_kf_2_1525_pi, f980_pif_2_1950_k, f980_kf_2_1950_pi,
 	f1500_pif_2_1525_k, f1500_kf_2_1525_pi, f1710_pif_2_1430_k, f1710_kf_2_1430_pi, f1710_pif_2_1950_k, f1710_kf_2_1950_pi, 
@@ -176,7 +177,7 @@ struct paramEnum2K2PiGam{
 	"ChiToK_1_2400K", "K_1_2400Tof980K",
 	"f980_pif1710_k", "f980_kf1710_pi", "f980f980", "f980f2200", "ChiTof980f_2_2300","ChiTof_2_2300sigma",
 	"f980_pif1370_k", "f980_kf1370_pi", "f980_pif1500_k", "f980_kf1500_pi", "f1710_pif1370_k", "f1710_kf1370_pi",
-	"K_0_2400KToKf980", "ChiToK_0_2400ToKf_0_1710", "K892K_1_1680", "K892K_1_2300", 
+	"K_0_2400KToKf980", "ChiToK_0_2400ToKf_0_1710", "K892K_1_1680", "ChiToK1680K1680", "K892K_1_2300", 
 	"sigmaf980", "ChiToSigmaf1370", "sigmaf1710", "sigmaf2200", "K_0_1460ToK892Pi", "K_0_1460ToK_0_1430Pi","K_0_1830ToK892Pi", "K_0_1830ToK_0_1430Pi",
 	"f980_pif_2_1270_k", "f980_kf_2_1270_pi","f980_pif_2_1430_k", "f980_kf_2_1430_pi","f980_pif_2_1525_k", "f980_kf_2_1525_pi", "f980_pif_2_1950_k", "f980_kf_2_1950_pi",  
 	"f1500_pif_2_1525_k", "f1500_kf_2_1525_pi", "f1710_pif_2_1430_k", "f1710_kf_2_1430_pi", "f1710_pif_2_1950_k", "f1710_kf_2_1950_pi",
diff --git a/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc b/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc
index ee8686ddbe94a2c0ab95145ea0b060a4ea80a2da..bed233a934289332e9c0c78e833d361f61d61110 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc
+++ b/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc
@@ -11,6 +11,7 @@ Hyp7Lh::Hyp7Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList> theEvtList, const
   Hyp6Lh(theEvtList, hypMap )
   ,_KappaHyp(true)
   ,_K1_1680Hyp(true)
+  ,_K1_1680K1_1680Hyp7(true)
   ,_K1_2300Hyp(true)
   ,_nFitParams(0)
 {
@@ -21,6 +22,7 @@ Hyp7Lh::Hyp7Lh( boost::shared_ptr<AbsPsi2STo2K2PiGamLh> theLhPtr, const std::map
   Hyp6Lh(theLhPtr->getEventList(), hypMap)
   ,_KappaHyp(true)
   ,_K1_1680Hyp(true)
+  ,_K1_1680K1_1680Hyp7(true)
   ,_K1_2300Hyp(true)
   ,_nFitParams(0)
 {
@@ -47,11 +49,21 @@ complex<double> Hyp7Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2
     result+=chiTo2K_0_Amp(theData, ChiTo2Kappa, KappaMass, KappaWidth,  KappaMass, KappaWidth);
   }
 
-  if(_K1_1680Hyp){ 
-    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K1680=theParamVal.ChiToK892K1680;
+  if(_K1_1680Hyp || _K1_1680K1_1680Hyp7){ 
+
     double K_1_1680Mass=theParamVal.BwK_1_1680.first;
-    double K_1_1680Width=theParamVal.BwK_1_1680.second;    
-    result+=chiToK1K1Amp(theData, ChiToK892K1680, K892Mass, K892Width,  K_1_1680Mass, K_1_1680Width); 
+    double K_1_1680Width=theParamVal.BwK_1_1680.second; 
+
+    if (_K1_1680Hyp){
+      std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K1680=theParamVal.ChiToK892K1680;
+      result+=chiToK1K1Amp(theData, ChiToK892K1680, K892Mass, K892Width,  K_1_1680Mass, K_1_1680Width);
+    } 
+
+    if (_K1_1680K1_1680Hyp7){
+      std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK1680K1680=theParamVal.ChiToK1680K1680;
+      result+=chiToK1K1Amp(theData, ChiToK1680K1680, K_1_1680Mass, K_1_1680Width,  K_1_1680Mass, K_1_1680Width);
+    } 
+
   }
 
   if(_K1_2300Hyp){ 
@@ -71,19 +83,15 @@ void Hyp7Lh::setMnUsrParams(MnUserParameters& upar, param2K2PiGam& startVal,  pa
 
   Hyp6Lh::setMnUsrParams(upar, startVal, errVal);
 
-  if(_KappaHyp){
-    _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, paramEnum2K2PiGam::KappaKappa);
-    if (!_KappaK_0_1950Hyp6) _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, paramEnum2K2PiGam::Kappa);
-  }
+  std::vector<unsigned int>::const_iterator itAmps;
+  for ( itAmps=_ampVec.begin(); itAmps!=_ampVec.end(); ++itAmps){
 
-  if(_K1_1680Hyp){
-    _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, paramEnum2K2PiGam::K892K_1_1680);
-    _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, paramEnum2K2PiGam::K_1_1680);
+    _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, (*itAmps));
   }
 
-  if(_K1_2300Hyp){
-    _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, paramEnum2K2PiGam::K892K_1_2300);
-    _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, paramEnum2K2PiGam::K_1_2300);
+  std::vector<unsigned int>::const_iterator itMasses;
+  for ( itMasses=_massVec.begin(); itMasses!=_massVec.end(); ++itMasses){
+    _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, (*itMasses) );  
   }
 
 }
@@ -99,21 +107,19 @@ int Hyp7Lh::setFitParamVal(param2K2PiGam& theParamVal, const std::vector<double>
   }   
 
   int counter=Hyp6Lh::setFitParamVal(theParamVal, par);
-  if(_KappaHyp){
-    counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, paramEnum2K2PiGam::KappaKappa);
-    if (!_KappaK_0_1950Hyp6) counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, paramEnum2K2PiGam::Kappa);  
-  }
-  if(_K1_1680Hyp){
-    counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, paramEnum2K2PiGam::K892K_1_1680);
-    counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, paramEnum2K2PiGam::K_1_1680);  
-  }
-  if(_K1_2300Hyp){
-    counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, paramEnum2K2PiGam::K892K_1_2300);
-    counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, paramEnum2K2PiGam::K_1_2300);  
-  }
 
+  std::vector<unsigned int>::const_iterator itAmps;
+  for ( itAmps=_ampVec.begin(); itAmps!=_ampVec.end(); ++itAmps){
+    counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, (*itAmps));
+  } 
+
+  std::vector<unsigned int>::const_iterator itMasses;
+  for ( itMasses=_massVec.begin(); itMasses!=_massVec.end(); ++itMasses){
+    counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, (*itMasses) ); 
+  }
 
   return counter;
+
 }
 
 unsigned int  Hyp7Lh::nFitParams(){
@@ -204,7 +210,16 @@ void Hyp7Lh::setUp(const std::map<const std::string, bool>& hypMap){
     _hypMap[iter->first]= iter->second;
   }
   else Alert << "hypothesis K1_1680Hyp7 not set!!!" <<endmsg;
-  
+
+
+  iter= hypMap.find("K1_1680K1_1680Hyp7");
+  if (iter !=hypMap.end()){
+    _K1_1680K1_1680Hyp7= iter->second;
+    Info<< "hypothesis " << iter->first << "\t" << _K1_1680K1_1680Hyp7 <<endmsg;
+    _hypMap[iter->first]= iter->second;
+  }
+  else Alert << "hypothesis K1_1680K1_1680Hyp7 not set!!!" <<endmsg;
+
   iter= hypMap.find("K1_2300Hyp7");
   
   if (iter !=hypMap.end()){
@@ -221,9 +236,15 @@ void Hyp7Lh::setUp(const std::map<const std::string, bool>& hypMap){
     if(!_KappaK_0_1950Hyp6) _massVec.push_back(paramEnum2K2PiGam::Kappa);
   }
 
-  if(_K1_1680Hyp){
-    _ampVec.push_back(paramEnum2K2PiGam::K892K_1_1680);
+  if(_K1_1680Hyp || _K1_1680K1_1680Hyp7){
+
     _massVec.push_back(paramEnum2K2PiGam::K_1_1680);
+    if(_K1_1680Hyp){
+      _ampVec.push_back(paramEnum2K2PiGam::K892K_1_1680);
+    }
+    if(_K1_1680K1_1680Hyp7){
+      _ampVec.push_back(paramEnum2K2PiGam::ChiToK1680K1680);
+    }
   }
 
   if(_K1_2300Hyp){
diff --git a/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh b/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh
index 015234c01246d0ed915820a18efe0801b2f62f7c..6204a1401704e02587da83b53101281538628b2f 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh
+++ b/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh
@@ -52,6 +52,7 @@ public:
 protected:
   bool _KappaHyp;
   bool _K1_1680Hyp;
+  bool _K1_1680K1_1680Hyp7;
   bool _K1_2300Hyp;
 
   virtual complex<double> chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData);
diff --git a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
index c0c82926e942a947fd6cfdfb4ec379cbe7c26941..1b865065d9e84e3df88ffd803cdfdbeba5f07667 100644
--- a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
+++ b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
@@ -173,6 +173,7 @@ int main(int __argc,char *__argv[]){
   hypMap["KappaK_0_1430Hyp6"]=true;
   hypMap["KappaK_0_1950Hyp6"]=true;
   hypMap["K1_1680Hyp7"]=true;
+  hypMap["K1_1680K1_1680Hyp7"]=true;
   hypMap["K1_2300Hyp7"]=true; 
   hypMap["KappaHyp7"]=true;
   hypMap["K_0_1460ToKstPiHyp8"]=true;