finished solution 5