Basic Data Structures and Object-Oriented Design