adding lu decomp