Uses hashes

WARNING: do not integrate this PR, please let me do it as I already have some updated branch using puppet hashes !