data hiding, UML and building blocks.