Decomposer refactoring