improve the order business logic