working on the view and more restructure