update hashcode generation