more common style is to return here instead of using `else`