completed the problem specification