Computing the values of integrals is one of the fundamental problems of calculus and its applications; numerical integration solves this problem for complex functions that cannot be handled analytically. This project will significantly extend the ParInt 1.0 system for performing numerical integration developed under previous NSF support. It will add techniques that enable the system to handle integration problems with a variety of difficult characteristics (e.g. singularities, high dimensions, etc.). This includes the development of a hierarchical process structure for the computation of large collections of integrals (e.g. finite element problems), extrapolation techniques for singular problems, and Quasi-Monte Carlo techniques for solving problems of high dimensions (e.g. computational finance). Corresponding additions to the package's graphical interface will allow for easy use across research disciplines. In particular, visualization tools to help the user see why a problem is difficult (and suggest alternative formulations) and a server allowing users to submit integration problems remotely will be incorporated.