added listenToAndRun; clean up a bit