add simpleFactory pattern