refactored layout and views, split up into several controllers and views