adds caching as well as general updates

updaes