implement some basic cursor caching