some formatting nits in this block
* line 96: dedent
* line 99: `choice== ` -> `choice == `
* pull up line 102 -> `} else {`