redesign view/data model