optimized make_step fns, removed add_edges