--- /dev/null
+//! High level lightning structs and impls live here.
+//!
+//! You probably want to create a channelmanager::ChannelManager, and a routing::NetGraphMsgHandler first.
+//! Then, you probably want to pass them both on to a peer_handler::PeerManager and use that to
+//! create/manage connections and call get_and_clear_pending_events after each action, handling
+//! them appropriately.
+//!
+//! When you want to open/close a channel or send a payment, call into your ChannelManager and when
+//! you want to learn things about the network topology (eg get a route for sending a payment),
+//! call into your NetGraphMsgHandler.
+
+use std::ffi::c_void;
+use bitcoin::hashes::Hash;
+use crate::c_types::*;
+
+pub mod channelmanager;
+pub mod channelmonitor;
+pub mod msgs;
+pub mod peer_handler;
+pub mod chan_utils;
+pub mod features;