added binary search and traversals