- implemented caching
Merge origin/master