removed some last traces of factory()