new hashes, some refactoring
multiple heurs