modify edge interface, not test yet