fixed non-positive u bug.