Major refactoring
Another round of refactoring
Checkpoint
Checkpoint
Checkpoint