completed linear decomposition module