impl the path reverse iterator