solution 1 to #10