refactor to more business oriented ordering