Worked out the remaining bugs (hopefully). Time for the big one.