Add a simple forward impl

- reset pointer when stopped
- restore end of collection behavior