closes feature #22 add validate method