prototype of a position cache