checkpoint: lots of UI changes, but needs to be rewritten