Using sync.WaitGroup instead of quit chan