added idea for factory to think about