model User with few validations and tests