refactored views using partials