Add new views and refactor some modules