fix hash could not handle None
update so repeated runs preserve extra data

closes #8