more more graph stuff
nearly done maybe