added qr solver