Fix some validation functions
DRY rest of the models