Functions can be added through add-ons created by third-party developers. Add-ons are primarily coded using an HTML, CSS, JavaScript, with API known as WebExtensions, which is designed to be compatible with Google Chrome and Microsoft Edge extension systems.[57] Firefox previously supported add-ons using the XUL and XPCOM APIs, which allowed them to directly access and manipulate much of the browser's internal functionality.