diff --git a/plugins/topology/annotated-topology-reader.cc b/plugins/topology/annotated-topology-reader.cc
index d6bbad1..f3cfc53 100644
--- a/plugins/topology/annotated-topology-reader.cc
+++ b/plugins/topology/annotated-topology-reader.cc
@@ -329,7 +329,7 @@
       Ptr<MobilityModel> mobility = (*node)->GetObject<MobilityModel> ();
       Vector position = mobility->GetPosition ();
 
-      os << name << "\t" << "unknown" << "\t" << -position.y << "\t" << position.x << "\n";
+      os << name << "\t" << "NA" << "\t" << -position.y << "\t" << position.x << "\n";
     }
 }
 
diff --git a/plugins/topology/rocketfuel-weights-reader.cc b/plugins/topology/rocketfuel-weights-reader.cc
index f1c4cc8..4b4fb32 100644
--- a/plugins/topology/rocketfuel-weights-reader.cc
+++ b/plugins/topology/rocketfuel-weights-reader.cc
@@ -55,8 +55,8 @@
 
 namespace ns3 {
     
-RocketfuelWeightsReader::RocketfuelWeightsReader (const std::string &path/*=""*/)
-  : AnnotatedTopologyReader (path)
+RocketfuelWeightsReader::RocketfuelWeightsReader (const std::string &path/*=""*/, double scale/*=1.0*/)
+  : AnnotatedTopologyReader (path, scale)
 {
   NS_LOG_FUNCTION (this);
 
@@ -144,13 +144,24 @@
 
       switch (m_inputType)
         {
+        case LINKS:
+          {
+            // links only
+            // do nothing
+            break;
+          }
         case WEIGHTS:
           {
+            if (attribute == "")
+              attribute = "1";
             uint16_t metric = boost::lexical_cast<uint16_t> (attribute);
             link->SetAttribute ("OSPF", boost::lexical_cast<string> (metric));
             break;
           }
         case LATENCIES:
+          if (attribute == "")
+            attribute = "1";
+            
           link->SetAttribute ("Delay", attribute+"ms");
           break;
         default:
diff --git a/plugins/topology/rocketfuel-weights-reader.h b/plugins/topology/rocketfuel-weights-reader.h
index e93ca32..e2f80d4 100644
--- a/plugins/topology/rocketfuel-weights-reader.h
+++ b/plugins/topology/rocketfuel-weights-reader.h
@@ -39,7 +39,7 @@
 class RocketfuelWeightsReader : public AnnotatedTopologyReader
 {
 public:
-  RocketfuelWeightsReader (const std::string &path="");
+  RocketfuelWeightsReader (const std::string &path="", double scale=1.0);
   virtual ~RocketfuelWeightsReader ();
 
   void
@@ -63,6 +63,7 @@
 
   enum
     {
+      LINKS,
       WEIGHTS,
       LATENCIES,
       POSITIONS
