illustration for Abstract Factory