fix typo
preUpdate has optional argument
check array_key_exists to avoid notice