bst refact .