Change reduce to decompose