make factory singleton w/o static members