pivot again: don't expose hashs so that we can implement staging without hash computation on every change