I could have (and probably should have) spent the last two hours or so doing homework, but I wasted it away making changes here. Among the things that now work: