improvement in solver