implemented mongodb based cache