another major grapher refactoring