suggestion of improved direct solve algorithm