input parameters template type insulation for base class (less boilerplate code)