Some change abstract factory v_2
Add output