Updating unit tests
Code cleanup and refactoring
Introducing disk cache config