largly fixed rbtree delete