work on decompositions