Other modules are packages of code which provide additional functionality to a program. They often come in the form of libraries or frameworks and contain a variety of functions or definitions to be used by other programs or scripts. Other modules can provide data integration, object-oriented programming, system optimization and more. By adding other modules, software developers are able to make their code more efficient by leveraging already-solved generic problems, such as date/time calculations, text parsing, and network connectivity. Additionally, other modules can provide powerful features that would normally be difficult to develop from scratch.