working checkpoint, need comments