harvesting is functional