validations should be at the top