more hookable template inheritance