abstracting cache building, updating readme