Components are manipulated by selecting an operation from the toolbar and then clicking the leftmost mouse button on the target component. In order to make the selection of the component easier for the user, transparent bounding boxes are placed on top of components when they are created. These bounding boxes make components easier to grab by providing a greater area on the canvas which can be clicked on by the user. Without these bounding boxes, the user would have to click on the thin outline of the primitives of the component in order to perform the desired operation. Each component has two types of bounding boxes, each of which are tagged with the unique tag name of the component as well as special tags identifying them as bounding boxes. One bounding box covers the entire component body and its ports, whereas the second bounding box only encompasses the component body. Together, these two bounding boxes prevent components from overlapping with one another and ensure that if a wire overlaps a component, it does so only at the ports of the component.