problem 2 unfinished, problem 3 kinda finished