Cleanup, lots of commenting (and more spoilers)