test and validations