cleaned up cache API