added symgraph and bfsurvey(altered from original)