removed empty AbstractFactory