added simple factory
simple factory