added models, validations and specs