solver improvement