- better --
- += implemented with binary search