add TemplateMethodable's snippet