i quite agree with you and i follow this principle most of the time, but there are situations where speed is very important in areas where something has to run smoothly in real time, like a CAD application so i'm trying to keep the code still readable but mutch faster and i think the do/while solution is one of the best... until someone else shows me another clean and good looking way to abbort some operation. thats why i opened this topic.