Partial changes due to the laptop's imminent death. It barely compiles.