Added the Hashing of Files and some Refactoring