new sub method only order n