diff --git a/modules/mol/mm/pymod/export_buildingblock.cc b/modules/mol/mm/pymod/export_buildingblock.cc
index b9388cb81bd76c4caec097ea8faee138d583d52c..4186bd9c20267f76a3082bd1616544f5b026c5f0 100644
--- a/modules/mol/mm/pymod/export_buildingblock.cc
+++ b/modules/mol/mm/pymod/export_buildingblock.cc
@@ -1,6 +1,6 @@
-#include <ost/log.hh>
 #include <boost/python.hpp>
 #include <ost/mol/mm/buildingblock.hh>
+#include <ost/log.hh>
 #include <vector>
 
 using namespace boost::python;
@@ -86,4 +86,4 @@ void export_Buildingblock()
 
   boost::python::register_ptr_to_python<ost::mol::mm::BuildingBlockPtr>();
 
-}
\ No newline at end of file
+}
diff --git a/modules/mol/mm/pymod/export_interaction.cc b/modules/mol/mm/pymod/export_interaction.cc
index d95c80d740bbe7f860d4ec2b01338f8398112122..c9a223dea7ba5f0d668a4a2b317221697d2fecf2 100644
--- a/modules/mol/mm/pymod/export_interaction.cc
+++ b/modules/mol/mm/pymod/export_interaction.cc
@@ -1,10 +1,9 @@
-#include <vector>
-
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 
 #include <ost/mol/mm/mm_interaction.hh>
 
+#include <vector>
 
 using namespace boost::python;
 
diff --git a/modules/mol/mm/pymod/export_openmm.cc b/modules/mol/mm/pymod/export_openmm.cc
index 1d3d73d73af88bd203b0095e7ed6b0a81ec5df7c..7ba82b40b30bf328e548e3fee610191da97c2ad6 100644
--- a/modules/mol/mm/pymod/export_openmm.cc
+++ b/modules/mol/mm/pymod/export_openmm.cc
@@ -16,8 +16,8 @@
 // along with this library; if not, write to the Free Software Foundation, Inc.,
 // 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 //------------------------------------------------------------------------------
-#include <OpenMM.h>
 #include <boost/python.hpp>
+#include <OpenMM.h>
 
 using namespace boost::python;
 
diff --git a/modules/mol/mm/src/block_modifiers.hh b/modules/mol/mm/src/block_modifiers.hh
index 275a2540f5c996c8d8cedb37cd6ce509d7406e65..d03c43a1f9d1e71363b757f7436fcc8e28567ef5 100644
--- a/modules/mol/mm/src/block_modifiers.hh
+++ b/modules/mol/mm/src/block_modifiers.hh
@@ -26,6 +26,7 @@ typedef enum {
 class HydrogenConstructor{
 public:
   HydrogenConstructor() { }
+  virtual ~HydrogenConstructor() { }
   virtual void ApplyOnBuildingBlock(BuildingBlockPtr p) = 0;
   virtual void ApplyOnResidue(ost::mol::ResidueHandle& res, ost::mol::XCSEditor& ed) = 0;
   virtual void OnSave(ost::io::BinaryDataSink& ds) = 0;
@@ -35,6 +36,7 @@ public:
 class TerminiConstructor{
 public:
   TerminiConstructor() { }
+  virtual ~TerminiConstructor() { }
   virtual void ApplyOnBuildingBlock(BuildingBlockPtr p) = 0;
   virtual void ApplyOnResidue(ost::mol::ResidueHandle& res, ost::mol::XCSEditor& ed) = 0;
   virtual void OnSave(ost::io::BinaryDataSink& ds) = 0;
@@ -44,6 +46,7 @@ public:
 class BlockModifier{
 public:
   BlockModifier() { }
+  virtual ~BlockModifier() { }
   virtual void ApplyOnBuildingBlock(BuildingBlockPtr p) = 0;
   virtual void ApplyOnResidue(ost::mol::ResidueHandle& res, ost::mol::XCSEditor& ed) = 0;
   virtual void OnSave(ost::io::BinaryDataSink& ds) = 0;
@@ -53,4 +56,4 @@ public:
 
 }}} //ns
 
-#endif
\ No newline at end of file
+#endif
diff --git a/modules/mol/mm/src/buildingblock.hh b/modules/mol/mm/src/buildingblock.hh
index f1cacdb516952ac7fc05f91e4357a9cd5035c7e8..b313255c6476c668a376a3f93cae9cd6bbca8785 100644
--- a/modules/mol/mm/src/buildingblock.hh
+++ b/modules/mol/mm/src/buildingblock.hh
@@ -109,7 +109,7 @@ public:
       masses_ = std::vector<Real>(num_atoms);
     }
 
-    for(unsigned int i = 0; i < num_atoms; ++i){
+    for(int i = 0; i < num_atoms; ++i){
       ds & atoms_[i];
       ds & types_[i];
       ds & charges_[i];
@@ -132,7 +132,7 @@ public:
     ds & num_cmaps;
     ds & num_constraints;
 
-    for(unsigned int i = 0; i < num_bonds; ++i){
+    for(int i = 0; i < num_bonds; ++i){
       int func_type;
       if(ds.IsSource()){
         ds & func_type;
@@ -145,7 +145,7 @@ public:
       ds & *(bonds_[i]);
     }
 
-    for(unsigned int i = 0; i < num_angles; ++i){
+    for(int i = 0; i < num_angles; ++i){
       int func_type;
       if(ds.IsSource()){
         ds & func_type;
@@ -158,7 +158,7 @@ public:
       ds & *(angles_[i]);
     }
 
-    for(unsigned int i = 0; i < num_dihedrals; ++i){
+    for(int i = 0; i < num_dihedrals; ++i){
       int func_type;
       if(ds.IsSource()){
         ds & func_type;
@@ -171,7 +171,7 @@ public:
       ds & *(dihedrals_[i]);
     }
 
-    for(unsigned int i = 0; i < num_impropers; ++i){
+    for(int i = 0; i < num_impropers; ++i){
       int func_type;
       if(ds.IsSource()){
         ds & func_type;
@@ -184,7 +184,7 @@ public:
       ds & *(impropers_[i]);
     }
 
-    for(unsigned int i = 0; i < num_exclusions; ++i){
+    for(int i = 0; i < num_exclusions; ++i){
       int func_type;
       if(ds.IsSource()){
         ds & func_type;
@@ -197,7 +197,7 @@ public:
       ds & *(exclusions_[i]);
     }
 
-    for(unsigned int i = 0; i < num_cmaps; ++i){
+    for(int i = 0; i < num_cmaps; ++i){
       int func_type;
       if(ds.IsSource()){
         ds & func_type;
@@ -210,7 +210,7 @@ public:
       ds & *(cmaps_[i]);
     }
 
-    for(unsigned int i = 0; i < num_constraints; ++i){
+    for(int i = 0; i < num_constraints; ++i){
       int func_type;
       if(ds.IsSource()){
         ds & func_type;
diff --git a/modules/mol/mm/src/simulation.cc b/modules/mol/mm/src/simulation.cc
index 2400a5219c73fdeea89f9ba3b75f1dcc9475fdbc..e6952ff1d69a7b5b0d4289980bece3072288a21d 100644
--- a/modules/mol/mm/src/simulation.cc
+++ b/modules/mol/mm/src/simulation.cc
@@ -161,6 +161,9 @@ SimulationPtr Simulation::Load(const String& filename, MMSettingsPtr settings){
       platform = &OpenMM::Platform::getPlatformByName("CPU");
       break;
     }
+    default:{
+      throw ost::Error("Invalid Platform when Loading simulation!");
+    }
   }
 
   sim_ptr->context_ = ContextPtr(new OpenMM::Context(*(sim_ptr->system_),
@@ -279,6 +282,9 @@ void Simulation::Init(const TopologyPtr top,
       platform = &OpenMM::Platform::getPlatformByName("CPU");
       break;
     }
+    default:{
+      throw ost::Error("Invalid platform encountered when settings up simualation!");
+    }
   }
 
   context_ = ContextPtr(new OpenMM::Context(*system_,*integrator_,*platform));