diff --git a/.jenkins.d/01-deps.sh b/.jenkins.d/01-deps.sh
index 43c81f8..db2d808 100755
--- a/.jenkins.d/01-deps.sh
+++ b/.jenkins.d/01-deps.sh
@@ -20,6 +20,6 @@
     sudo apt-get -qq install build-essential pkg-config libboost-all-dev \
                              libcrypto++-dev libsqlite3-dev libssl-dev
     sudo apt-get install -qq -y python-setuptools python-dev python-pygraphviz python-kiwi
-    sudo apt-get install -qq -y python-pygoocanvas python-gnome2
-    sudo apt-get install -qq -y python-rsvg ipython
+    # sudo apt-get install -qq -y python-pygoocanvas python-gnome2
+    # sudo apt-get install -qq -y python-rsvg ipython
 fi
diff --git a/apps/ndn-consumer-pcon.cpp b/apps/ndn-consumer-pcon.cpp
index 9fbc55c..2242740 100644
--- a/apps/ndn-consumer-pcon.cpp
+++ b/apps/ndn-consumer-pcon.cpp
@@ -41,10 +41,10 @@
 
       .AddAttribute("CcAlgorithm",
                     "Specify which window adaptation algorithm to use (AIMD, BIC, or CUBIC)",
-                    EnumValue(CC_ALGORITHM::AIMD),
+                    EnumValue(CcAlgorithm::AIMD),
                     MakeEnumAccessor(&ConsumerPcon::m_ccAlgorithm),
-                    MakeEnumChecker(CC_ALGORITHM::AIMD, "AIMD", CC_ALGORITHM::BIC, "BIC",
-                                    CC_ALGORITHM::CUBIC, "CUBIC"))
+                    MakeEnumChecker(CcAlgorithm::AIMD, "AIMD", CcAlgorithm::BIC, "BIC",
+                                    CcAlgorithm::CUBIC, "CUBIC"))
 
       .AddAttribute("Beta",
                     "TCP Multiplicative Decrease factor",
@@ -152,7 +152,7 @@
 void
 ConsumerPcon::WindowIncrease()
 {
-  if (m_ccAlgorithm == CC_ALGORITHM::AIMD) {
+  if (m_ccAlgorithm == CcAlgorithm::AIMD) {
     if (m_window < m_ssthresh) {
       m_window += 1.0;
     }
@@ -160,10 +160,10 @@
       m_window += (1.0 / m_window);
     }
   }
-  else if (m_ccAlgorithm == CC_ALGORITHM::CUBIC) {
+  else if (m_ccAlgorithm == CcAlgorithm::CUBIC) {
     CubicIncrease();
   }
-  else if (m_ccAlgorithm == CC_ALGORITHM::BIC) {
+  else if (m_ccAlgorithm == CcAlgorithm::BIC) {
     BicIncrease();
   }
   else {
@@ -181,15 +181,15 @@
 
     m_recPoint = m_seq + (m_addRttSuppress * diff);
 
-    if (m_ccAlgorithm == CC_ALGORITHM::AIMD) {
+    if (m_ccAlgorithm == CcAlgorithm::AIMD) {
       // Normal TCP Decrease:
       m_ssthresh = m_window * m_beta;
       m_window = m_ssthresh;
     }
-    else if (m_ccAlgorithm == CC_ALGORITHM::CUBIC) {
+    else if (m_ccAlgorithm == CcAlgorithm::CUBIC) {
       CubicDecrease();
     }
-    else if (m_ccAlgorithm == CC_ALGORITHM::BIC) {
+    else if (m_ccAlgorithm == CcAlgorithm::BIC) {
       BicDecrease();
     }
     else {
