Adjust the method names
Refactor recursion to roller