added binary search & parameterized unit tests