Restructing
restructuring
restructuring
Fix binary search
Add BS unit test