begin implementation of OrderFactory