add iterator reversal method
rework table traversal