eliminating busy wait
rename