problem 1, template