add binary search; transition from hashmap to vector