update simplefactory
update simplefactory pattern!