add some scaffolding for random edge selection