Implement decomposition.