qr decomposition added