solution 3, 4