Index: kernel/include/IMP/singleton_scores/DistanceToSingletonScore.h
===================================================================
--- kernel/include/IMP/singleton_scores/DistanceToSingletonScore.h	(revision 532)
+++ kernel/include/IMP/singleton_scores/DistanceToSingletonScore.h	(working copy)
@@ -11,12 +11,11 @@
 #include "../SingletonScore.h"
 #include "../Vector3D.h"
 #include "../internal/ObjectPointer.h"
+#include "../UnaryFunction.h"
 
 namespace IMP
 {
 
-class UnaryFunction;
-
 //! Apply a function to the distance to a fixed point.
 /** \ingroup singleton
  */
Index: kernel/include/IMP/singleton_scores/AttributeSingletonScore.h
===================================================================
--- kernel/include/IMP/singleton_scores/AttributeSingletonScore.h	(revision 532)
+++ kernel/include/IMP/singleton_scores/AttributeSingletonScore.h	(working copy)
@@ -10,12 +10,11 @@
 
 #include "../SingletonScore.h"
 #include "../internal/ObjectPointer.h"
+#include "../UnaryFunction.h"
 
 namespace IMP
 {
 
-class UnaryFunction;
-
 //! Apply a function to an attribute.
 /** \ingroup singleton
  */
Index: kernel/include/IMP/restraints/SingletonListRestraint.h
===================================================================
--- kernel/include/IMP/restraints/SingletonListRestraint.h	(revision 532)
+++ kernel/include/IMP/restraints/SingletonListRestraint.h	(working copy)
@@ -13,14 +13,13 @@
 #include "../Restraint.h"
 #include "../internal/kernel_version_info.h"
 #include "../internal/ObjectPointer.h"
+#include "../SingletonScore.h"
 
 #include <iostream>
 
 namespace IMP
 {
 
-class SingletonScore;
-
 //! Applies a SingletonScore to each Particle in a list.
 /** \ingroup restraint
  */
Index: kernel/include/IMP/restraints/PairChainRestraint.h
===================================================================
--- kernel/include/IMP/restraints/PairChainRestraint.h	(revision 532)
+++ kernel/include/IMP/restraints/PairChainRestraint.h	(working copy)
@@ -13,14 +13,13 @@
 #include "../Restraint.h"
 #include "../internal/kernel_version_info.h"
 #include "../internal/ObjectPointer.h"
+#include "../PairScore.h"
 
 #include <vector>
 
 namespace IMP
 {
 
-class PairScore;
-
 //! Restrain each pair of consecutive particles in each chain.
 /** \ingroup restraint
  */
Index: kernel/include/IMP/restraints/BondDecoratorRestraint.h
===================================================================
--- kernel/include/IMP/restraints/BondDecoratorRestraint.h	(revision 532)
+++ kernel/include/IMP/restraints/BondDecoratorRestraint.h	(working copy)
@@ -15,12 +15,12 @@
 #include "../Restraint.h"
 #include "../internal/kernel_version_info.h"
 #include "../internal/ObjectPointer.h"
+#include "../UnaryFunction.h"
 
 namespace IMP
 {
 
 class BondDecoratorListScoreState;
-class UnaryFunction;
 
 //! Restrain all pairs of non-bonded particles
 /** This restraint currently only works for bonds which have their 
Index: kernel/include/IMP/restraints/AngleRestraint.h
===================================================================
--- kernel/include/IMP/restraints/AngleRestraint.h	(revision 532)
+++ kernel/include/IMP/restraints/AngleRestraint.h	(working copy)
@@ -12,11 +12,10 @@
 #include "../Restraint.h"
 #include "../internal/kernel_version_info.h"
 #include "../internal/ObjectPointer.h"
+#include "../triplet_scores/AngleTripletScore.h"
 
-
 namespace IMP
 {
-class AngleTripletScore;
 class UnaryFunction;
 
 //! Angle restraint between three particles
Index: kernel/include/IMP/restraints/TripletChainRestraint.h
===================================================================
--- kernel/include/IMP/restraints/TripletChainRestraint.h	(revision 532)
+++ kernel/include/IMP/restraints/TripletChainRestraint.h	(working copy)
@@ -13,14 +13,13 @@
 #include "../Restraint.h"
 #include "../internal/kernel_version_info.h"
 #include "../internal/ObjectPointer.h"
+#include "../TripletScore.h"
 
 #include <vector>
 
 namespace IMP
 {
 
-class TripletScore;
-
 //! Restrain each triplet of consecutive particles in each chain.
 /** \ingroup restraint
  */
Index: kernel/include/IMP/restraints/PairListRestraint.h
===================================================================
--- kernel/include/IMP/restraints/PairListRestraint.h	(revision 532)
+++ kernel/include/IMP/restraints/PairListRestraint.h	(working copy)
@@ -14,14 +14,13 @@
 #include "../Particle.h"
 #include "../internal/kernel_version_info.h"
 #include "../internal/ObjectPointer.h"
+#include "../PairScore.h"
 
 #include <iostream>
 
 namespace IMP
 {
 
-class PairScore;
-
 //! Applies a PairScore to each pair of particles in a list.
 /** \ingroup restraint
  */
Index: kernel/include/IMP/pair_scores/SphereDistancePairScore.h
===================================================================
--- kernel/include/IMP/pair_scores/SphereDistancePairScore.h	(revision 532)
+++ kernel/include/IMP/pair_scores/SphereDistancePairScore.h	(working copy)
@@ -10,10 +10,10 @@
 
 #include "../PairScore.h"
 #include "../internal/ObjectPointer.h"
+#include "../UnaryFunction.h"
 
 namespace IMP
 {
-class UnaryFunction;
 
 //! A score on the distance between the surfaces of two spheres.
 /** \ingroup pairscore