This may need to be reverted if CTRL-C handling breaks, but everything works fine so far in testing. Resolves issue #95.