added hashfunction