added initializer template