renamed factory class appropriately