i think i just added caching with redis (can change implementation later)
added documentation for caching stuff