refactor B-tree factory