implement hash code for peer