Updated caching - now we cache forward instead of just backwards