added concurrent iterations option
replaced gosem with buffered struct{} channels