diff --git a/apps/ccnx-consumer-cbr.cc b/apps/ccnx-consumer-cbr.cc
index 5a2a759..b001ba7 100644
--- a/apps/ccnx-consumer-cbr.cc
+++ b/apps/ccnx-consumer-cbr.cc
@@ -97,12 +97,13 @@
 void
 CcnxConsumerCbr::ScheduleNextPacket ()
 {
-  // double mean = 8.0 * m_payloadSize / m_desiredRate.GetBitRate ();
+  double mean = 8.0 * m_payloadSize / m_desiredRate.GetBitRate ();
+  // std::cout << "next: " << Simulator::Now().ToDouble(Time::S) + mean << "s\n";
 
   if (!m_sendEvent.IsRunning ())
     m_sendEvent = Simulator::Schedule (
-                                       Seconds(m_randExp.GetValue ()),
-                                       // Seconds(mean),
+                                       // Seconds(m_randExp.GetValue ()),
+                                       Seconds(mean),
                                        &CcnxConsumer::SendPacket, this);
 }
 
diff --git a/apps/ccnx-consumer.cc b/apps/ccnx-consumer.cc
index 6fc3a40..28dc23e 100644
--- a/apps/ccnx-consumer.cc
+++ b/apps/ccnx-consumer.cc
@@ -112,7 +112,7 @@
 {
   NS_LOG_FUNCTION_NOARGS ();
   
-  m_rtt = CreateObject<RttMeanDeviation> (); 
+  m_rtt = CreateObject<RttMeanDeviation> ();
 }
 
 void
diff --git a/examples/blackhole-sprint.cc b/examples/blackhole-sprint.cc
index 9b8fcfc..dba634a 100644
--- a/examples/blackhole-sprint.cc
+++ b/examples/blackhole-sprint.cc
@@ -294,6 +294,7 @@
           continue;
 
         CcnxAppHelper consumerHelper ("ns3::CcnxConsumerCbr");
+        consumerHelper.SetAttribute ("LifeTime", StringValue("100s"));
         BOOST_FOREACH (const string &prefix, prefixes)
           {
             consumerHelper.SetPrefix (prefix);
@@ -317,7 +318,7 @@
   
   Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("100Mbps"));
   Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue ("2000"));
-  Config::SetDefault ("ns3::RttEstimator::InitialEstimation", StringValue ("1s"));
+  Config::SetDefault ("ns3::RttEstimator::InitialEstimation", StringValue ("0.5s"));
 
   Config::SetDefault ("ns3::ConfigStore::Filename", StringValue ("attributes.xml"));
   Config::SetDefault ("ns3::ConfigStore::Mode", StringValue ("Save"));
diff --git a/helper/ccnx-stack-helper.cc b/helper/ccnx-stack-helper.cc
index 3714f64..bc03c9d 100644
--- a/helper/ccnx-stack-helper.cc
+++ b/helper/ccnx-stack-helper.cc
@@ -306,7 +306,6 @@
     }
 }
 
-
 void
 CcnxStackHelper::InstallRoutesToAll ()
 {
