I think it works now. Putting together a better listener-runner