use graph thread