checkpoint.  working on RC/GC