Added BinarySearch and unit tests