Why does it need any kind of infinite loop at all?