csps-decompose csps-recompose revised version