added solve based on lapack