Add Abstract Factory-two dimension step 1