some code about concurent