 An example of this is the Firefox web browser, which uses abstraction to build some of the lower-level components, separate source subtrees for implementing platform-specific features (like the GUI), and the implementation of more than one scripting language to help facilitate ease of portability.Firefox implements XUL, CSS and JavaScript for extending the browser, in addition to classic Netscape-style browser plugins.Much of the browser itself is written in XUL, CSS, and JavaScript, as well.