Full Answer

finished #3