optimised reverse
cost function: cost(candidate edges) - cost(existing edges)
remove eventlistener
tidy up, minor improvementS