Added a lot of old improvements, including status logging to the screen, timeout hooks for pause/stop, and a lot of theory behind the technique in itself