Moving functions around into the new framework. Added requiresProblem annotation.