created object factory
clean up