added problem example for abstract factory