update Hash, add extended Hash, cover it by test