scatter is functional