Checkpoint. Basically complete, now need to fix bugs.