This while loop could just loop using "while: " and then use "break" instead of forever=0  I think it would be more explicit flow control with fewer variables.