validations implemented