diff --git a/Decay/FormFactors/KMatrix.cc b/Decay/FormFactors/KMatrix.cc
--- a/Decay/FormFactors/KMatrix.cc
+++ b/Decay/FormFactors/KMatrix.cc
@@ -1,46 +1,46 @@
 // -*- C++ -*-
 //
 // This is the implementation of the non-inlined, non-templated member
 // functions of the KMatrix class.
 //
 
 #include "KMatrix.h"
 #include "ThePEG/Interface/ClassDocumentation.h"
 #include "ThePEG/Interface/ParVector.h"
 #include "ThePEG/EventRecord/Particle.h"
 #include "ThePEG/Repository/UseRandom.h"
 #include "ThePEG/Repository/EventGenerator.h"
 #include "ThePEG/Utilities/DescribeClass.h"
 
 
 #include "ThePEG/Persistency/PersistentOStream.h"
 #include "ThePEG/Persistency/PersistentIStream.h"
 
 using namespace Herwig;
 
 KMatrix::KMatrix(FlavourInfo flavour, vector<Channels> channels,
-		 vector<Energy> poles) : flavour_(flavour), channels_(channels), poles_(poles)
+		 vector<Energy2> poles) : flavour_(flavour), channels_(channels), poles_(poles)
 {}
 
 void KMatrix::persistentOutput(PersistentOStream & os) const {
-  os << ounit(poles_,GeV);
+  os << ounit(poles_,GeV2);
 }
 
 void KMatrix::persistentInput(PersistentIStream & is, int) {
-  is >> iunit(poles_,GeV);
+  is >> iunit(poles_,GeV2);
 }
 
 
 // The following static variable is needed for the type
 // description system in ThePEG.
 DescribeAbstractClass<KMatrix,Interfaced>
 describeHerwigKMatrix("Herwig::KMatrix", "Herwig.so");
 
 void KMatrix::Init() {
 
   static ClassDocumentation<KMatrix> documentation
     ("The KMatrix class provides a base class for the implementation of "
      "K-matrix parameterizations in Herwig");
 
 }
 
diff --git a/Decay/FormFactors/KMatrix.h b/Decay/FormFactors/KMatrix.h
--- a/Decay/FormFactors/KMatrix.h
+++ b/Decay/FormFactors/KMatrix.h
@@ -1,107 +1,113 @@
 // -*- C++ -*-
 #ifndef Herwig_KMatrix_H
 #define Herwig_KMatrix_H
 //
 // This is the declaration of the KMatrix class.
 //
 
 #include "ThePEG/Interface/Interfaced.h"
 #include "Herwig/Decay/IsoSpin.h"
 #include "KMatrix.fh"
+#include <boost/numeric/ublas/matrix.hpp>
 
 namespace Herwig {
 
 using namespace ThePEG;
 
 /**
  * The KMatrix class is a base class for the implementation of
  * K-matrix parameterizations in Herwig
  *
  * @see \ref KMatrixInterfaces "The interfaces"
  * defined for KMatrix.
  */
 class KMatrix: public Interfaced {
 
 public:
   
   /**
    * Enum for the possible channels
    */
   enum Channels { PiPi, KPi, KEta, KEtaPrime};
 
 public:
 
   /**
    * The default constructor.
    */
   KMatrix(FlavourInfo flavour=FlavourInfo(),
 	  vector<Channels> channels=vector<Channels>(),
-	  vector<Energy> poles=vector<Energy>());
+	  vector<Energy2> poles=vector<Energy2>());
 
   /**
    *   The quantum numbers of the K-matrix
    */
   FlavourInfo flavourInfo() const {
     return flavour_;
   };
 
   /**
    *  Compute the K-matrix for a given scale
    */
-  virtual double K(Energy2 s) =0;
+  virtual boost::numeric::ublas::matrix<double> K(Energy2 s) = 0;
+
+  /**
+   *  Vector containing the locations of the poles
+   */
+  const vector<Energy2> & poles() const {return poles_;}
   
 public:
 
   /** @name Functions used by the persistent I/O system. */
   //@{
   /**
    * Function used to write out object persistently.
    * @param os the persistent output stream written to.
    */
   void persistentOutput(PersistentOStream & os) const;
 
   /**
    * Function used to read in object persistently.
    * @param is the persistent input stream read from.
    * @param version the version number of the object when written.
    */
   void persistentInput(PersistentIStream & is, int version);
   //@}
 
   /**
    * The standard Init function used to initialize the interfaces.
    * Called exactly once for each class by the class description system
    * before the main function starts or
    * when this class is dynamically loaded.
    */
   static void Init();
 
 private:
 
   /**
    * The assignment operator is private and must never be called.
    * In fact, it should not even be implemented.
    */
   KMatrix & operator=(const KMatrix &);
 
 private:
 
   /**
    *   The quantum numbers for the K-matrix
    */
   FlavourInfo flavour_;
   
   /**
    *   The mesons in the various channels
    */
   vector<Channels> channels_;
 
   /**
    *  The positions of the poles
    */
-  vector<Energy> poles_;
+  vector<Energy2> poles_;
 };
 
 }
 
 #endif /* Herwig_KMatrix_H */
diff --git a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.cc b/Decay/FormFactors/KPiIHalfFOCUSKMatrix.cc
copy from Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.cc
copy to Decay/FormFactors/KPiIHalfFOCUSKMatrix.cc
--- a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.cc
+++ b/Decay/FormFactors/KPiIHalfFOCUSKMatrix.cc
@@ -1,83 +1,98 @@
 // -*- C++ -*-
 //
 // This is the implementation of the non-inlined, non-templated member
-// functions of the KPiIThreeHalfFOCUSKMatrix class.
+// functions of the KPiIHalfFOCUSKMatrix class.
 //
 
-#include "KPiIThreeHalfFOCUSKMatrix.h"
+#include "KPiIHalfFOCUSKMatrix.h"
 #include "ThePEG/Interface/ClassDocumentation.h"
 #include "ThePEG/EventRecord/Particle.h"
 #include "ThePEG/Repository/UseRandom.h"
 #include "ThePEG/Repository/EventGenerator.h"
 #include "ThePEG/Utilities/DescribeClass.h"
 #include "ThePEG/Persistency/PersistentOStream.h"
 #include "ThePEG/Persistency/PersistentIStream.h"
 
 using namespace Herwig;
 
-KPiIThreeHalfFOCUSKMatrix::KPiIThreeHalfFOCUSKMatrix()
-  : KMatrix(FlavourInfo(IsoSpin::IThreeHalf,IsoSpin::I3Unknown,
+KPiIHalfFOCUSKMatrix::KPiIHalfFOCUSKMatrix()
+  : KMatrix(FlavourInfo(IsoSpin::IHalf,IsoSpin::I3Unknown,
 			Strangeness::PlusOne,Charm::Zero,
 			Beauty::Zero),
-	    vector<Channels>({KMatrix::KPi})),
-    D_({-0.22147,0.026637,-0.00092057}),
-    sThreeHalf_(0.27*GeV2)
+	    vector<Channels>({KMatrix::KPi,KMatrix::KEtaPrime}),
+	    vector<Energy2>({1.7919*GeV2})),
+    C11_({0.79299,-0.15099,0.00811}),
+    C22_({0.15040,-0.038266,0.0022596}),
+    C12_({0.17054,-0.0219,0.00085655}),
+    g_({0.31072*GeV,-0.02323*GeV}),
+    sHalf_(0.23*GeV2)
 {}
-IBPtr KPiIThreeHalfFOCUSKMatrix::clone() const {
+
+IBPtr KPiIHalfFOCUSKMatrix::clone() const {
   return new_ptr(*this);
 }
 
-IBPtr KPiIThreeHalfFOCUSKMatrix::fullclone() const {
+IBPtr KPiIHalfFOCUSKMatrix::fullclone() const {
   return new_ptr(*this);
 }
 
-void KPiIThreeHalfFOCUSKMatrix::persistentOutput(PersistentOStream & os) const {
-  os << D_ << ounit(sThreeHalf_,GeV2) << ounit(sNorm_,GeV2);
+void KPiIHalfFOCUSKMatrix::persistentOutput(PersistentOStream & os) const {
+  os << C11_ << C22_ << C12_ << ounit(sHalf_,GeV2) << ounit(sNorm_,GeV2);
 }
 
-void KPiIThreeHalfFOCUSKMatrix::persistentInput(PersistentIStream & is, int) {
-  is >> D_ >> iunit(sThreeHalf_,GeV2) >> iunit(sNorm_,GeV2);
+void KPiIHalfFOCUSKMatrix::persistentInput(PersistentIStream & is, int) {
+  is >> C11_ >> C22_ >> C12_ >> iunit(sHalf_,GeV2) >> iunit(sNorm_,GeV2);
 }
 
 // The following static variable is needed for the type
 // description system in ThePEG.
-DescribeClass<KPiIThreeHalfFOCUSKMatrix,KMatrix>
-describeHerwigKPiIThreeHalfFOCUSKMatrix("Herwig::KPiIThreeHalfFOCUSKMatrix", "HwFormFactors.so");
+DescribeClass<KPiIHalfFOCUSKMatrix,KMatrix>
+describeHerwigKPiIHalfFOCUSKMatrix("Herwig::KPiIHalfFOCUSKMatrix", "HwFormFactors.so");
 
-void KPiIThreeHalfFOCUSKMatrix::Init() {
+void KPiIHalfFOCUSKMatrix::Init() {
 
-  static ClassDocumentation<KPiIThreeHalfFOCUSKMatrix> documentation
-    ("The KPiIThreeHalfFOCUSKMatrix class implements the K-matrix fit of "
-     "the FOCUS collaboration (Phys.Lett. B653 (2007) 1-11) for the I=3/2 "
+  static ClassDocumentation<KPiIHalfFOCUSKMatrix> documentation
+    ("The KPiIHalfFOCUSKMatrix class implements the K-matrix fit of "
+     "the FOCUS collaboration (Phys.Lett. B653 (2007) 1-11) for the I=1/2 "
      "component of the Kpi K-matrix.",
-     "The KPiIThreeHalfFOCUSKMatrix class implements the K-matrix fit of "
-     "the FOCUS collaboration \\cite{Pennington:2007se} for the $I=3/2$ "
+     "The KPiIHalfFOCUSKMatrix class implements the K-matrix fit of "
+     "the FOCUS collaboration \\cite{Pennington:2007se} for the $I=1/2$ "
      "component of the $K\\pi$ K-matrix.",
      "\\bibitem{Pennington:2007se}"
      "J.~M.~Link {\\it et al.} [FOCUS Collaboration],"
      "%``Dalitz plot analysis of the $D^{+} \\to K^{-} \\pi^{+} \\pi^{+}$ decay in the FOCUS experiment,''"
      "Phys.\\ Lett.\\ B {\\bf 653} (2007) 1"
      "doi:10.1016/j.physletb.2007.06.070"
      "[arXiv:0705.2248 [hep-ex]]."
      "%%CITATION = doi:10.1016/j.physletb.2007.06.070;%%"
      "%79 citations counted in INSPIRE as of 14 Jan 2020");
 
 }
 
-void KPiIThreeHalfFOCUSKMatrix::doinit() {
+void KPiIHalfFOCUSKMatrix::doinit() {
   KMatrix::doinit();
   Energy mK = getParticleData(ParticleID::Kplus)->mass();
   Energy mpi= getParticleData(ParticleID::piplus)->mass();
   sNorm_ = sqr(mK)+sqr(mpi);
 }
 
-double KPiIThreeHalfFOCUSKMatrix::K(Energy2 s) {
+boost::numeric::ublas::matrix<double> KPiIHalfFOCUSKMatrix::K(Energy2 s) {
   double st = s/sNorm_-1.;
+  double pre = (s-sHalf_)/sNorm_;
+  Energy2 denom = poles()[0]-s;
+  boost::numeric::ublas::matrix<double> output =
+    boost::numeric::ublas::zero_matrix<double>(2,2);
+  output(0,0) = g_[0]*g_[0]/denom;
+  output(0,1) = g_[0]*g_[1]/denom;
+  output(1,1) = g_[1]*g_[1]/denom;
   double param=1.;
-  double output=0.;
-  for(unsigned int ix=0;ix<D_.size();++ix) {
-    output+=D_[ix]*param;
+  for(unsigned int ix=0;ix<C11_.size();++ix) {
+    output(0,0) += C11_[ix]*param;
+    output(1,1)+= C22_[ix]*param;
+    output(0,1)+= C12_[ix]*param;
     param *= st;
   }
-  return output*(s-sThreeHalf_)/sNorm_;
+  output(1,0) = output(0,1);
+  output *= pre;
+  return output;
 }
diff --git a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.h b/Decay/FormFactors/KPiIHalfFOCUSKMatrix.h
copy from Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.h
copy to Decay/FormFactors/KPiIHalfFOCUSKMatrix.h
--- a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.h
+++ b/Decay/FormFactors/KPiIHalfFOCUSKMatrix.h
@@ -1,118 +1,123 @@
 // -*- C++ -*-
-#ifndef Herwig_KPiIThreeHalfFOCUSKMatrix_H
-#define Herwig_KPiIThreeHalfFOCUSKMatrix_H
+#ifndef Herwig_KPiIHalfFOCUSKMatrix_H
+#define Herwig_KPiIHalfFOCUSKMatrix_H
 //
-// This is the declaration of the KPiIThreeHalfFOCUSKMatrix class.
+// This is the declaration of the KPiIHalfFOCUSKMatrix class.
 //
 
 #include "KMatrix.h"
 
 namespace Herwig {
 
 using namespace ThePEG;
 
 /**
- * The KPiIThreeHalfFOCUSKMatrix class implements the K-matrix fit of
- * the FOCUS collaboration (Phys.Lett. B653 (2007) 1-11) for the \f$I=\frac32\f$
+ * The KPiIHalfFOCUSKMatrix class implements the K-matrix fit of
+ * the FOCUS collaboration (Phys.Lett. B653 (2007) 1-11) for the \f$I=\frac12\f$
  * component of the \f$K\pi\f$ K-matrix. 
  *
- * @see \ref KPiIThreeHalfFOCUSKMatrixInterfaces "The interfaces"
- * defined for KPiIThreeHalfFOCUSKMatrix.
+ * @see \ref KPiIHalfFOCUSKMatrixInterfaces "The interfaces"
+ * defined for KPiIHalfFOCUSKMatrix.
  */
-class KPiIThreeHalfFOCUSKMatrix: public KMatrix {
+class KPiIHalfFOCUSKMatrix: public KMatrix {
 
 public:
 
   /**
    * The default constructor.
    */
-  KPiIThreeHalfFOCUSKMatrix();
+  KPiIHalfFOCUSKMatrix();
 
   /**
    *  Compute the K-matrix for a given scale
    */
-  virtual double K(Energy2 s);
+  virtual boost::numeric::ublas::matrix<double> K(Energy2 s);
 
 public:
 
   /** @name Functions used by the persistent I/O system. */
   //@{
   /**
    * Function used to write out object persistently.
    * @param os the persistent output stream written to.
    */
   void persistentOutput(PersistentOStream & os) const;
 
   /**
    * Function used to read in object persistently.
    * @param is the persistent input stream read from.
    * @param version the version number of the object when written.
    */
   void persistentInput(PersistentIStream & is, int version);
   //@}
 
   /**
    * The standard Init function used to initialize the interfaces.
    * Called exactly once for each class by the class description system
    * before the main function starts or
    * when this class is dynamically loaded.
    */
   static void Init();
 
 protected:
 
   /** @name Clone Methods. */
   //@{
   /**
    * Make a simple clone of this object.
    * @return a pointer to the new object.
    */
   virtual IBPtr clone() const;
 
   /** Make a clone of this object, possibly modifying the cloned object
    * to make it sane.
    * @return a pointer to the new object.
    */
   virtual IBPtr fullclone() const;
   //@}
 protected:
 
   /** @name Standard Interfaced functions. */
   //@{
   /**
    * Initialize this object after the setup phase before saving an
    * EventGenerator to disk.
    * @throws InitException if object could not be initialized properly.
    */
   virtual void doinit();
   //@}
 
 private:
 
   /**
    * The assignment operator is private and must never be called.
    * In fact, it should not even be implemented.
    */
-  KPiIThreeHalfFOCUSKMatrix & operator=(const KPiIThreeHalfFOCUSKMatrix &);
+  KPiIHalfFOCUSKMatrix & operator=(const KPiIHalfFOCUSKMatrix &);
 
 private:
 
   /**
-   *  Constants \f$D_{22,i}\f$ from Eqn 9
+   *  Constants \f$C_{ij,k}\f$ from Eqn 8
    */
-  vector<double> D_;
+  vector<double> C11_,C22_,C12_;
+
+  /**
+   *  Couplings for the resonances
+   */
+  vector<Energy> g_;
 
   /**
    *   Adler zero position
    */
-  Energy2 sThreeHalf_;
+  Energy2 sHalf_;
 
   /**
    *  Normalisation scale
    */
   Energy2 sNorm_;
 };
 
 }
 
-#endif /* Herwig_KPiIThreeHalfFOCUSKMatrix_H */
+#endif /* Herwig_KPiIHalfFOCUSKMatrix_H */
diff --git a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.cc b/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.cc
--- a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.cc
+++ b/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.cc
@@ -1,83 +1,86 @@
 // -*- C++ -*-
 //
 // This is the implementation of the non-inlined, non-templated member
 // functions of the KPiIThreeHalfFOCUSKMatrix class.
 //
 
 #include "KPiIThreeHalfFOCUSKMatrix.h"
 #include "ThePEG/Interface/ClassDocumentation.h"
 #include "ThePEG/EventRecord/Particle.h"
 #include "ThePEG/Repository/UseRandom.h"
 #include "ThePEG/Repository/EventGenerator.h"
 #include "ThePEG/Utilities/DescribeClass.h"
 #include "ThePEG/Persistency/PersistentOStream.h"
 #include "ThePEG/Persistency/PersistentIStream.h"
 
 using namespace Herwig;
 
 KPiIThreeHalfFOCUSKMatrix::KPiIThreeHalfFOCUSKMatrix()
   : KMatrix(FlavourInfo(IsoSpin::IThreeHalf,IsoSpin::I3Unknown,
 			Strangeness::PlusOne,Charm::Zero,
 			Beauty::Zero),
 	    vector<Channels>({KMatrix::KPi})),
     D_({-0.22147,0.026637,-0.00092057}),
     sThreeHalf_(0.27*GeV2)
 {}
+
 IBPtr KPiIThreeHalfFOCUSKMatrix::clone() const {
   return new_ptr(*this);
 }
 
 IBPtr KPiIThreeHalfFOCUSKMatrix::fullclone() const {
   return new_ptr(*this);
 }
 
 void KPiIThreeHalfFOCUSKMatrix::persistentOutput(PersistentOStream & os) const {
   os << D_ << ounit(sThreeHalf_,GeV2) << ounit(sNorm_,GeV2);
 }
 
 void KPiIThreeHalfFOCUSKMatrix::persistentInput(PersistentIStream & is, int) {
   is >> D_ >> iunit(sThreeHalf_,GeV2) >> iunit(sNorm_,GeV2);
 }
 
 // The following static variable is needed for the type
 // description system in ThePEG.
 DescribeClass<KPiIThreeHalfFOCUSKMatrix,KMatrix>
 describeHerwigKPiIThreeHalfFOCUSKMatrix("Herwig::KPiIThreeHalfFOCUSKMatrix", "HwFormFactors.so");
 
 void KPiIThreeHalfFOCUSKMatrix::Init() {
 
   static ClassDocumentation<KPiIThreeHalfFOCUSKMatrix> documentation
     ("The KPiIThreeHalfFOCUSKMatrix class implements the K-matrix fit of "
      "the FOCUS collaboration (Phys.Lett. B653 (2007) 1-11) for the I=3/2 "
      "component of the Kpi K-matrix.",
      "The KPiIThreeHalfFOCUSKMatrix class implements the K-matrix fit of "
      "the FOCUS collaboration \\cite{Pennington:2007se} for the $I=3/2$ "
      "component of the $K\\pi$ K-matrix.",
      "\\bibitem{Pennington:2007se}"
      "J.~M.~Link {\\it et al.} [FOCUS Collaboration],"
      "%``Dalitz plot analysis of the $D^{+} \\to K^{-} \\pi^{+} \\pi^{+}$ decay in the FOCUS experiment,''"
      "Phys.\\ Lett.\\ B {\\bf 653} (2007) 1"
      "doi:10.1016/j.physletb.2007.06.070"
      "[arXiv:0705.2248 [hep-ex]]."
      "%%CITATION = doi:10.1016/j.physletb.2007.06.070;%%"
      "%79 citations counted in INSPIRE as of 14 Jan 2020");
 
 }
 
 void KPiIThreeHalfFOCUSKMatrix::doinit() {
   KMatrix::doinit();
   Energy mK = getParticleData(ParticleID::Kplus)->mass();
   Energy mpi= getParticleData(ParticleID::piplus)->mass();
   sNorm_ = sqr(mK)+sqr(mpi);
 }
 
-double KPiIThreeHalfFOCUSKMatrix::K(Energy2 s) {
+boost::numeric::ublas::matrix<double> KPiIThreeHalfFOCUSKMatrix::K(Energy2 s) {
   double st = s/sNorm_-1.;
   double param=1.;
-  double output=0.;
+  boost::numeric::ublas::matrix<double> output =
+    boost::numeric::ublas::zero_matrix<double>(1,1);
   for(unsigned int ix=0;ix<D_.size();++ix) {
-    output+=D_[ix]*param;
+    output(0,0) += D_[ix]*param;
     param *= st;
   }
-  return output*(s-sThreeHalf_)/sNorm_;
+  output *=(s-sThreeHalf_)/sNorm_;
+  return output;
 }
diff --git a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.h b/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.h
--- a/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.h
+++ b/Decay/FormFactors/KPiIThreeHalfFOCUSKMatrix.h
@@ -1,118 +1,118 @@
 // -*- C++ -*-
 #ifndef Herwig_KPiIThreeHalfFOCUSKMatrix_H
 #define Herwig_KPiIThreeHalfFOCUSKMatrix_H
 //
 // This is the declaration of the KPiIThreeHalfFOCUSKMatrix class.
 //
 
 #include "KMatrix.h"
 
 namespace Herwig {
 
 using namespace ThePEG;
 
 /**
  * The KPiIThreeHalfFOCUSKMatrix class implements the K-matrix fit of
  * the FOCUS collaboration (Phys.Lett. B653 (2007) 1-11) for the \f$I=\frac32\f$
  * component of the \f$K\pi\f$ K-matrix. 
  *
  * @see \ref KPiIThreeHalfFOCUSKMatrixInterfaces "The interfaces"
  * defined for KPiIThreeHalfFOCUSKMatrix.
  */
 class KPiIThreeHalfFOCUSKMatrix: public KMatrix {
 
 public:
 
   /**
    * The default constructor.
    */
   KPiIThreeHalfFOCUSKMatrix();
 
   /**
    *  Compute the K-matrix for a given scale
    */
-  virtual double K(Energy2 s);
+  virtual boost::numeric::ublas::matrix<double> K(Energy2 s);
 
 public:
 
   /** @name Functions used by the persistent I/O system. */
   //@{
   /**
    * Function used to write out object persistently.
    * @param os the persistent output stream written to.
    */
   void persistentOutput(PersistentOStream & os) const;
 
   /**
    * Function used to read in object persistently.
    * @param is the persistent input stream read from.
    * @param version the version number of the object when written.
    */
   void persistentInput(PersistentIStream & is, int version);
   //@}
 
   /**
    * The standard Init function used to initialize the interfaces.
    * Called exactly once for each class by the class description system
    * before the main function starts or
    * when this class is dynamically loaded.
    */
   static void Init();
 
 protected:
 
   /** @name Clone Methods. */
   //@{
   /**
    * Make a simple clone of this object.
    * @return a pointer to the new object.
    */
   virtual IBPtr clone() const;
 
   /** Make a clone of this object, possibly modifying the cloned object
    * to make it sane.
    * @return a pointer to the new object.
    */
   virtual IBPtr fullclone() const;
   //@}
 protected:
 
   /** @name Standard Interfaced functions. */
   //@{
   /**
    * Initialize this object after the setup phase before saving an
    * EventGenerator to disk.
    * @throws InitException if object could not be initialized properly.
    */
   virtual void doinit();
   //@}
 
 private:
 
   /**
    * The assignment operator is private and must never be called.
    * In fact, it should not even be implemented.
    */
   KPiIThreeHalfFOCUSKMatrix & operator=(const KPiIThreeHalfFOCUSKMatrix &);
 
 private:
 
   /**
    *  Constants \f$D_{22,i}\f$ from Eqn 9
    */
   vector<double> D_;
 
   /**
    *   Adler zero position
    */
   Energy2 sThreeHalf_;
 
   /**
    *  Normalisation scale
    */
   Energy2 sNorm_;
 };
 
 }
 
 #endif /* Herwig_KPiIThreeHalfFOCUSKMatrix_H */
diff --git a/Decay/FormFactors/Makefile.am b/Decay/FormFactors/Makefile.am
--- a/Decay/FormFactors/Makefile.am
+++ b/Decay/FormFactors/Makefile.am
@@ -1,54 +1,56 @@
 BUILT_SOURCES  = Formfactor__all.cc
 CLEANFILES = Formfactor__all.cc
 
 Formfactor__all.cc : $(DIR_H_FILES) $(DIR_CC_FILES) Makefile
 	@echo "Concatenating .cc files into $@"
 	@$(top_srcdir)/cat_with_cpplines $(DIR_CC_FILES) > $@
 
 EXTRA_DIST = $(ALL_H_FILES) $(ALL_CC_FILES)
 
 DIR_H_FILES = $(addprefix $(srcdir)/,$(ALL_H_FILES))
 ALL_H_FILES = \
 BallZwickyScalarFormFactor.h \
 BallZwickyVectorFormFactor.h \
 BaryonSimpleFormFactor.h \
 BaryonThreeQuarkModelFormFactor.h \
 ChengHeavyBaryonFormFactor.h \
 ISGW2FormFactor.h \
 ISGWFormFactor.h \
 LambdabExcitedLambdacSumRuleFormFactor.h \
 LightBaryonQuarkModelFormFactor.h \
 SingletonFormFactor.h \
 WSBFormFactor.h \
 KiselevBcFormFactor.h \
 MelikhovFormFactor.h \
 MelikhovStechFormFactor.h \
 BtoSGammaFlatEnergy.h \
 BtoSGammaKagan.h \
 HQETFormFactor.h \
 CzyzNucleonFormFactor.h \
 KornerKurodaFormFactor.h \
-KPiIThreeHalfFOCUSKMatrix.h
+KPiIThreeHalfFOCUSKMatrix.h \
+KPiIHalfFOCUSKMatrix.h
 
 DIR_CC_FILES = $(addprefix $(srcdir)/,$(ALL_CC_FILES))
 ALL_CC_FILES = \
 BallZwickyScalarFormFactor.cc \
 BallZwickyVectorFormFactor.cc \
 BaryonSimpleFormFactor.cc \
 BaryonThreeQuarkModelFormFactor.cc \
 ChengHeavyBaryonFormFactor.cc \
 ISGW2FormFactor.cc \
 ISGWFormFactor.cc \
 LambdabExcitedLambdacSumRuleFormFactor.cc \
 LightBaryonQuarkModelFormFactor.cc \
 SingletonFormFactor.cc \
 WSBFormFactor.cc \
 KiselevBcFormFactor.cc \
 MelikhovFormFactor.cc \
 MelikhovStechFormFactor.cc \
 BtoSGammaFlatEnergy.cc \
 BtoSGammaKagan.cc \
 HQETFormFactor.cc \
 CzyzNucleonFormFactor.cc \
 KornerKurodaFormFactor.cc \
-KPiIThreeHalfFOCUSKMatrix.cc
+KPiIThreeHalfFOCUSKMatrix.cc \
+KPiIHalfFOCUSKMatrix.cc