implementing support tree, along with remove functionality