Solution by chazzka