refactor cluster decomposer class