#software decomposition