succ and preds as dictionaries with edge states
refactor