return from factory