Software packages that incorporate text editor, compiler, linker, debugger and other tools are available. An Integrated Development Environment (IDE) provides the programmer with a single package that incorporates all the tools needed to develop both small, simple projects and those that are larger and more complex. In addition, IDE's often include project templates for various types of projects. Some examples of IDE's are Visual Basic, Visual C++, Visual Studio and KDevelop.