modified to incorporate reverse and 3m limit