improved validations