$Id$ This is pre-alpha stage, only intended for discussion of the structure. The current state is that the configurations and module skeletons are in place, but with no actual executing code in the modules. The basic structure is the following: CollectionC is the visible interface to external users. The data plane (the send and receive paths exported) are through the ForwardingEngine, the only external interface to the routing engine is currently RootControl. The link estimation is done through a third module, the LinkEstimator. It provides the latest link estimate for a given neighbor. TreeRoutingEngine sends and receives control messages to form the tree. These are independent of the data plane messages. Both TreeRoutingEngine and ForwardingEngine have their send and receive paths wired through the LinkEstimator. The initial idea is to have almost pass-through components LinkEstimatorAMSenderC and LinkEstimatorAMReceiverC such that the link estimator can intercept all packets to and from both components.