graph theoretic techniques