It should be recursive here, right?