refactored views to use partials