The Connected Limited Device Configuration (CLDC) is a fundamental part of the architecture of the Java 2 Platform, Micro Edition (J2ME). J2ME technology is delivered in API bundles called configurations, profiles, and optional packages. A J2ME application environment includes both a configuration like CLDC and a profile like the Mobile Information Device Profile (MIDP). In addition, optional packages provide capability in specific areas of functionality, such as wireless messaging and multimedia capture and playback. The ability to choose from among the various bundles enables product designers and developers to match software capabilities with hardware capabilities very closely. They can use APIs that give them easy access to the components a particular kind of device actually has, without the overhead of APIs designed for capabilities the device doesn't support.