solution self 2
-