refactored layout with partials