I found it a little bit weird that you used early return here and decided to keep a regular if/else on the following blocks.. I think we should keep it consistent (use early `return` for all cases or use `if / else if`)