Warning... the while loop has no exit!