diff --git a/doc/reference/doxygen.css b/doc/reference/doxygen.css
new file mode 100644
index 0000000..c87eb8f
--- /dev/null
+++ b/doc/reference/doxygen.css
@@ -0,0 +1,23 @@
+H1 { text-align: center; }
+A.qindex {}
+A.qindexRef {}
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code { text-decoration: none; font-weight: normal; color: #4444ee }
+A.codeRef { font-weight: normal; color: #4444ee }
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #f2f2ff; font-weight: bold; }
+TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
+FONT.keyword { color: #008000 }
+FONT.keywordtype { color: #604020 }
+FONT.keywordflow { color: #e08000 }
+FONT.comment { color: #800000 }
+FONT.preprocessor { color: #806020 }
+FONT.stringliteral { color: #002080 }
+FONT.charliteral { color: #008080 }
diff --git a/doc/reference/doxygen.gif b/doc/reference/doxygen.gif
new file mode 100644
index 0000000..e145bba
Binary files /dev/null and b/doc/reference/doxygen.gif differ
diff --git a/include/boost/preprocessor.hpp b/include/boost/preprocessor.hpp
new file mode 100644
index 0000000..54119f2
--- /dev/null
+++ b/include/boost/preprocessor.hpp
@@ -0,0 +1,97 @@
+#ifndef BOOST_PREPROCESSOR_HPP
+#define BOOST_PREPROCESSOR_HPP
+
+// Copyright (C) 2001
+// Housemarque, Inc.
+// http://www.housemarque.com
+//
+// Permission to copy, use, modify, sell and distribute this software is
+// granted provided this copyright notice appears in all copies. This
+// software is provided "as is" without express or implied warranty, and
+// with no claim as to its suitability for any purpose.
+
+// See http://www.boost.org for most recent version.
+
+/*! \file
+
+Click here to see the header.
+
+Includes all PREPROCESSOR library headers.
+*/
+
+#ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_ASSERT_MSG_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_CAT_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_COMMA_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_COMPARISON_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_DEC_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_IF_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_INC_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_LIMITS_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_LOGICAL_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_MAX_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_MIN_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_REPEAT_3RD_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
+# include
+#endif
+#ifndef BOOST_PREPROCESSOR_WHILE_HPP
+# include
+#endif
+#endif