change rbtree interface, let compare function become struct member