Adding factory to initialize