added migrations and models with validations and associations