add concurrent detection