graph rework, 1st attempt