Added caching
Merged