many refactors later, all tests run. changes include new model fields, using primary key _id and no name, removal of some unnecessary apis in paastor and sheep