add extension ::Hash

closes #3