solution 3 added