add common utility header and unfinished binary search tree