cleaned up code so that choosing to not constrain an edge does not need to be a global setting - i.e. it can be done on a graph by graph basis.