added problem 3 and caching runtimes