checkpoint - mostly working