added templated