exit if we can't listen
use the method call as a goroutine