decomposition code