Applications that must access the various Mozilla XPCOM libraries (networking, security, DOM, etc.) use a special layer of XPCOM called XPConnect, which reflects the library interfaces into JavaScript, or other languages. XPConnect glues the front end to the C++ or C programming language based components in XPCOM, and it can be extended to include scripting support for other languages: PyXPCOM[7] already offers support for Python. PerlConnect and plXPCOM[8] provide support for Perl, and there are efforts underway to add Common Language Infrastructure (CLI) and Ruby language support for XPConnect.