okaaaaayyyyy I've understood the meaning of the while-blah-blah... let's rewrite it!