Refactor

* factory for views from data
* change recursive method to set data on root view