dirty check, id extraction, update example