Fixed bug in binary_search
Fixed some invalid comments. Better design.
Improved the algorithms for best practices