refinement: weight -> data. store arbitrary information for heuristics.