added specs. refactored validator for specs.  made some methods in validator private