checkpointing

Haven't committed this stuff in forever... :-/