routines that exploit chordal structure