Graph drawn, basics implemented, needs cleanup