abstract page template rendering