switch to pointer recievers for cache maps