implemented binary_tree, working