updated with graph