Added caching and controller testing