lets try passing down any hash code that we go to the trouble of calculating
pass down has codes wherever we can