added associations & pseudocode for validations & methods