Added cache util, more design