add heap verification
sligtly change mark loop