working on factory magic method bridge