after multi thread, seems ok