added graph stuff
merge?