change reduce signature