upload solution for part 2 of 3