this is for caching inverse