broke up template into layout components