use rbtree base checkers