fix reverse()