edge refactoring