basic functionality - adding components.