use less goroutines