more specs and validations to models