fixed race update
performance
performance
merge