reorg, and updating view to use model