Refactored some names and created functional grapher