implement --concurrent option