Summary: We describe how modular software design and well proven object oriented design patterns can help to implement a flexible software package for the efficient solution of partial differential equations. Today not only efficiency in the numerical solution is of utmost importance for practical use, efficiency in problem setup and interpretation of numerical results is of importance if modeling and computing comes closer and closer together. In order to demonstrate the possibilities of the software, we apply the tool to several non-standard problems.