add templates for base classes