I dislike break statements; they tend to be hard to follow (see: GOTO). I've removed the outer check in the latest commit.