some changes to model & controller.  Not sure on the logic though.  Needs review.