fixed decomposition bug