Catching up solution#18