added calculateSignatures() and updated generateHashFunction() with a seed
refactoring