added concurency in turn functions