Refactor to use recursion in grow