use own class as cache key