something wrong with tridiag solver, otherwise looking ok