new implementation of add regular edges