added functional tests for the store controller
implemented caching