solution part 2