added surface edge merge. (and VE in the process)