refactored order interface