Caching rearchitect. Step#1
Caching rearchitect. Step#2
Caching rearchitect. Step#3