added old syntax of while and do while back: wanted to minimal the usage of backup syntax at first, but tests shows that they are still needed.