add a series of validation functions