changed instantiation method