adding binary search treee implementation with tests