finally adds a readme. Adds a decorator to make caching a little easier, cleans up some of the leftover remnants of the previous iteration of the code