finish basic data modeling and integrate 'shoulda' for testing