refactored show page with partials