transfers key only when changed