update detection