Would you mind moving the "else return $" in your line 106 to a new line so that execution flow is easier to read?