finalise order refactor