-#include "inspstring.h"
-#include "ctables.h"
-#include "inspircd.h"
-#include "modules.h"
-#include "inspircd_config.h"
-#include <string>
-#ifdef GCC3
-#include <ext/hash_map>
-#else
-#include <hash_map>
-#endif
-
-typedef nspace::hash_map<std::string, userrec*, nspace::hash<string>, irc::StrHashComp> user_hash;
-typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, irc::StrHashComp> chan_hash;
-typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, irc::InAddr_HashComp> address_cache;
-typedef nspace::hash_map<std::string, WhoWasUser*, nspace::hash<string>, irc::StrHashComp> whowas_hash;
-typedef std::deque<command_t> command_table;
-typedef std::vector<std::string> servernamelist;
-typedef std::vector<ExtMode> ExtModeList;
-typedef ExtModeList::iterator ExtModeListIter;
-
-#endif
+#include "base.h"
+
+typedef TR1NS::unordered_map<std::string, User*, irc::insensitive, irc::StrHashComp> user_hash;
+typedef TR1NS::unordered_map<std::string, Channel*, irc::insensitive, irc::StrHashComp> chan_hash;
+
+/** A list of failed port bindings, used for informational purposes on startup */
+typedef std::vector<std::pair<std::string, std::string> > FailedPortList;
+
+/** List of channels to consider when building the neighbor list of a user
+ */
+typedef std::vector<Membership*> IncludeChanList;
+
+/** A cached text file stored with its contents as lines
+ */
+typedef std::vector<std::string> file_cache;
+
+/** A configuration key and value pair
+ */
+typedef std::pair<std::string, std::string> KeyVal;
+
+/** The entire configuration
+ */
+typedef std::multimap<std::string, reference<ConfigTag> > ConfigDataHash;
+
+/** Iterator of ConfigDataHash */
+typedef ConfigDataHash::const_iterator ConfigIter;
+/** Iterator pair, used for tag-name ranges */
+typedef std::pair<ConfigIter,ConfigIter> ConfigTagList;
+
+/** Files read by the configuration */
+typedef std::map<std::string, file_cache> ConfigFileCache;
+
+/** Generic user list, used for exceptions */
+typedef std::set<User*> CUList;
+
+/** A set of strings.
+ */
+typedef std::vector<std::string> string_list;
+
+/** Contains an ident and host split into two strings
+ */
+typedef std::pair<std::string, std::string> IdentHostPair;
+
+/** A map of xline factories
+ */
+typedef std::map<std::string, XLineFactory*> XLineFactMap;
+
+/** A map of XLines indexed by string
+ */
+typedef std::map<irc::string, XLine *> XLineLookup;
+
+/** A map of XLineLookup maps indexed by string
+ */
+typedef std::map<std::string, XLineLookup > XLineContainer;
+
+/** An iterator in an XLineContainer
+ */
+typedef XLineContainer::iterator ContainerIter;
+
+/** An interator in an XLineLookup
+ */
+typedef XLineLookup::iterator LookupIter;