checkpoint prepared struct, and more public API implementation