reduce (@reduce)