fix concurrent problem