refactored bounding area class