problem 1
problem 2