Added features to the model layer, including validation, adding additional models along with model associations.