graph refactor
graph 2