Solution by southpawgeek