Index: src/Actions/CommandAction/BondLengthTableAction.def
===================================================================
--- src/Actions/CommandAction/BondLengthTableAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/CommandAction/BondLengthTableAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -10,5 +10,7 @@
 #include "Graph/BondGraph.hpp"
 
+#include "Parameters/Validators/Ops_Validator.hpp"
 #include "Parameters/Validators/Specific/FilePresentValidator.hpp"
+#include "Parameters/Validators/Specific/FileSuffixValidator.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
@@ -21,5 +23,5 @@
 #define paramreferences (BondGraphFileName)
 #define paramvalids \
-(FilePresentValidator())
+(FilePresentValidator() && (FileSuffixValidator("dat") || FileSuffixValidator("db")))
 
 #define statetypes (std::string)
Index: src/Actions/CommandAction/ElementDbAction.def
===================================================================
--- src/Actions/CommandAction/ElementDbAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/CommandAction/ElementDbAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -9,4 +9,5 @@
 #include <sstream>
 
+#include "Parameters/Validators/Ops_Validator.hpp"
 #include "Parameters/Validators/Specific/FilePresentValidator.hpp"
 
Index: src/Actions/CommandAction/LoadSessionAction.def
===================================================================
--- src/Actions/CommandAction/LoadSessionAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/CommandAction/LoadSessionAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -9,5 +9,7 @@
 #include <boost/filesystem/path.hpp>
 
+#include "Parameters/Validators/Ops_Validator.hpp"
 #include "Parameters/Validators/Specific/FilePresentValidator.hpp"
+#include "Parameters/Validators/Specific/FileSuffixValidator.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
@@ -20,5 +22,5 @@
 #define paramreferences (filename)
 #define paramvalids \
-(FilePresentValidator())
+(FilePresentValidator() && FileSuffixValidator("py"))
 
 #undef statetypes
Index: src/Actions/CommandAction/StoreSessionAction.def
===================================================================
--- src/Actions/CommandAction/StoreSessionAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/CommandAction/StoreSessionAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -11,4 +11,6 @@
 
 #include "Parameters/Validators/DummyValidator.hpp"
+#include "Parameters/Validators/Ops_Validator.hpp"
+#include "Parameters/Validators/Specific/FileSuffixValidator.hpp"
 #include "Parameters/Validators/Specific/SessionTypeValidator.hpp"
 
@@ -22,5 +24,5 @@
 #define paramreferences (filename)(sessiontype)
 #define paramvalids \
-(DummyValidator< boost::filesystem::path >()) \
+(FileSuffixValidator("py") || FileSuffixValidator("sh") || FileSuffixValidator("bat")) \
 (SessionTypeValidator())
 
Index: src/Actions/FragmentationAction/ClearFragmentationResultsAction.def
===================================================================
--- src/Actions/FragmentationAction/ClearFragmentationResultsAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/FragmentationAction/ClearFragmentationResultsAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -7,12 +7,4 @@
 
 // all includes and forward declarations necessary for non-integral types below
-#include <boost/filesystem/path.hpp>
-#include <vector>
-
-#include "Parameters/Validators/RangeValidator.hpp"
-#include "Parameters/Validators/Ops_Validator.hpp"
-#include "Parameters/Validators/STLVectorValidator.hpp"
-#include "Parameters/Validators/Specific/ParserFileValidator.hpp"
-#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
Index: src/Actions/MoleculeAction/ForceAnnealingAction.def
===================================================================
--- src/Actions/MoleculeAction/ForceAnnealingAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/MoleculeAction/ForceAnnealingAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -7,8 +7,9 @@
 
 // all includes and forward declarations necessary for non-integral types below
+#include <boost/filesystem/path.hpp>
+
 #include "Parameters/Validators/DummyValidator.hpp"
 #include "Parameters/Validators/GenericValidators.hpp"
 #include "Parameters/Validators/Ops_Validator.hpp"
-#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
Index: src/Actions/MoleculeAction/VerletIntegrationAction.def
===================================================================
--- src/Actions/MoleculeAction/VerletIntegrationAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/MoleculeAction/VerletIntegrationAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -8,4 +8,5 @@
 // all includes and forward declarations necessary for non-integral types below
 #include "LinearAlgebra/Vector.hpp"
+#include <boost/filesystem/path.hpp>
 #include <vector>
 typedef std::vector<Vector> Vectors_t;
@@ -14,5 +15,4 @@
 #include "Parameters/Validators/GenericValidators.hpp"
 #include "Parameters/Validators/Ops_Validator.hpp"
-#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
Index: src/Actions/PotentialAction/FitPotentialAction.def
===================================================================
--- src/Actions/PotentialAction/FitPotentialAction.def	(revision dc798d46df2d2028d2fe5f96f29aac56230c6797)
+++ src/Actions/PotentialAction/FitPotentialAction.def	(revision 95cfacdff536aaf7fb3937c5b0656feb10da531c)
@@ -18,4 +18,5 @@
 #include "Parameters/Validators/Specific/ElementValidator.hpp"
 #include "Parameters/Validators/Specific/EmptyStringValidator.hpp"
+#include "Parameters/Validators/Specific/FileSuffixValidator.hpp"
 #include "Parameters/Validators/Specific/FilePresentValidator.hpp"
 #include "Parameters/Validators/Specific/PotentialTypeValidator.hpp"
@@ -26,5 +27,5 @@
 #define paramtypes (boost::filesystem::path)(std::string)(boost::filesystem::path)(std::vector<const element *>)(std::vector<const element *>)(unsigned int)(double)
 #define paramtokens ("training-file")("potential-type")("potential-file")("potential-charges")("fragment-charges")("take-best-of")("set-threshold")
-#define paramdescriptions ("optional file to write training data to")("potential type to fit")("potential file specifying multiple potentials to fit")("charges specifying the potential")("charges specifying the fragment")("take the best among this many approximations")("Require L2 error to be smaller than threshold, overrides number of attempts")
+#define paramdescriptions ("optional file to write training data to")("potential type to fit")("optional potential file specifying multiple potentials to fit")("charges specifying the potential")("charges specifying the fragment")("take the best among this many approximations")("Require L2 error to be smaller than threshold, overrides number of attempts")
 #define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT(3))(PARAM_DEFAULT(1.))
 #define paramreferences (training_file)(potentialtype)(potential_file)(charges)(fragment)(best_of_howmany)(threshold)
@@ -32,5 +33,5 @@
 (DummyValidator<boost::filesystem::path>()) \
 (EmptyStringValidator() || PotentialTypeValidator()) \
-(DummyValidator<boost::filesystem::path>()) \
+(!FilePresentValidator() || FileSuffixValidator("potentials")) \
 (STLVectorValidator< std::vector<const element *> >(0,99, ElementValidator())) \
 (STLVectorValidator< std::vector<const element *> >(1,99, ElementValidator())) \
