updates to model code, shoulda tests in place