ns-3 is the followup to the wildly successful ns-2 project. ns-2 was, for many years, the reference network simulator for IP networks to the point that more than 50% or all papers published in many conferences and journals used ns-2 to validate their research. Despite (or because of) this success, ns-2 is showing its age: its architecture suffers from a number of important problems which could not be solved with a thorough redesign. This lead a number of US-based researchers to start the development of ns-3 from scratch with NSF funding. Through our involvement in the ns-3 project from its very early stages (we were invited to its kickoff meeting), we contributed to the architecture and the implementation of its core facilities. Most notably, we implemented the event scheduler, the packet data structure, the tracing subsystem, important aspects of the object model, and the default network node programming interface. We also worked on the first version of the UDP/IPv4 stack. This work was based on YANS ("Yet Another Network Simulator") which we developed just prior to starting work on ns-3. See http://www.nsnam.org for more details.