Solution + cleanup ! :)