mark dirty before traversal (need to test later)