Added model validations and associations