adding functionality that allows the new fingerprint to be calculated in
constant time with the help of reusing the old one