added data source abstraction and implementation to load data from json file. added util class to store json data from outputstream to file, various refactorings