make stupid caching mechanism