added mongo caching layer