refactor views into separate files