added associations & validations