Trying Brett's recursion instead