implement region node