Signed-off-by: William Brawner <me@wbrawner.com>
There were quite a few changes here, I got a bit carried away.