add iterator reversal