fixed the subtraction not sortted bug, simplfy the sort args