add model validations and specs
manually merged