added model validations because Im cool like that