implements B-tree insert