refactored GraphEditController