problem 1b no comments
problem 1c partial