tested QR decomposition