some improvements of the interior point algorithm