graph + tests