add custom routes, tweak and refactor views