result for "factory method"
Complete abstract factory