Half of problem 23.

I'm removing some monkey patching I was using, but I want it to be in
the history.
Solve problem 23