Checkpoint, semi-working diagram wise at least