create the factory, don't inject it from spring.