working on recursively solving ...