divide templates for inheritance