Add edge + refactor