btree written in c