traverse update