moved order business logics into service layer