make dispatch handle multiple arguments
handle normal quit (keyboard interrupt, sigterm)