Change order constructor to reuse directions when possible