stricter assertion: either no breakpoint, or strict comparison
convenience getters
rewrite using new data structures