adding linear system solver