Improve checkout process

Fixes #88, fixes #89, fixes #91