attribute validations
wtf lol