working graph
cleanup
merge hope it didnt break