added NonSingleton wrapper