decompose problem