I don't think we need a label here since we aren't using it to break the outer loop.

what about splitting this into 2 methods? that way it will clearer and wouldn't need 2 nested `while`, kinda hard to follow which loop is being stopped by `break` and `return false`.