add benchmark
modify GetNode() implementation