keep only wait and shutDown in goroutine