this might look better as a `switch` now that there are three cases