this ctor is unnecessary as templated one handles case