bug fix: Edge needs to be hasable (implement __hash__/__eq__)
bug fix: acount for difference in precision in %