Rewrite Graph to be awesome, add test method in main.py