While technically we can define methods inside methods, the variable scope gets confusing and this is almost never seen in the wild. I guess this is why you had to define the variables above as "instance variables". It is possible to do this with a single recursive method -- [check out Praggya's solution](https://github.com/ga-wdi-boston/wdi_2_ruby_hw_roman_numeral_kata/pull/9/files) which is only three lines long (aside from the conversion hash).