A separately installable software module that adds function to an existing program, application, or interface.