adding functional tests
adding caching blocks for later