Refactoring the calculating of hashes for a cleaner design.. adding some javadoc
Filenames are now replaced with hashed filenames