add updateKey function