tentatively complete view and model. Needs testing