style and validations