refactor(ex5): seperate controllers and views