graph interface functional
TODO: find a more userfriendly interface for deleting edges