spread part of util into wrapper and cache.h
refactoring names and design