added core validation methods as per issue #7. still some final integration to do