design of linear solver