diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000000000000000000000000000000000000..aae74e886aaa2575875351e7702d60b83268569e
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,17 @@
+John Jannotti
+jj@lcs.mit.edu
+design, Ethernet switch elements, user-level pcap/BPF elements
+
+Eddie Kohler
+eddietwo@lcs.mit.edu
+design, core, Linux /proc interface, standard elements, optimizer,
+documentation, other elements
+
+Robert Morris
+rtm@lcs.mit.edu
+design, Ethernet elements, IP elements, Linux kernel module elements,
+radio elements, Linux kernel patches, other elements
+
+Alex Snoeren
+snoeren@lcs.mit.edu
+IP security elements
diff --git a/doc/click.o.8 b/doc/click.o.8
new file mode 100644
index 0000000000000000000000000000000000000000..6e7158a3bf08fc7c14d13be31ba6bc47f4a477f0
--- /dev/null
+++ b/doc/click.o.8
@@ -0,0 +1,181 @@
+.\" -*- mode: nroff -*-
+.ds E " \-\- 
+.if t .ds E \(em
+.de OP
+.BR "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de OA
+.IR "\fB\\$1\& \|\fI\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de QO
+.RB ` "\\$1" "'\\$2"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.de Es
+.Sp
+.RS 5
+.nf
+..
+.de Ee
+.fi
+.RE
+.PP
+..
+.de Rs
+.RS
+.Sp
+..
+.de Re
+.Sp
+.RE
+..
+.TH CLICK.O 8 "19/Oct/1999" "Version \*V"
+.SH NAME
+click.o \- Click kernel module for Linux
+'
+.SH DESCRIPTION
+'
+The Click modular router can be compiled as a Linux kernel module, called
+.BR click.o .
+It can steal packets from network devices before Linux gets a chance to
+handle them, send packets directly to devices, and send packets to Linux
+for normal processing.
+.PP
+Install the kernel module with
+.BR insmod (1):
+`/sbin/insmod click.o'. Remove it with
+.BR rmmod (1):
+`/sbin/rmmod click'.
+.PP
+The module uses the /proc filesystem
+.RB ( proc (5))
+for its API. It creates a number of files under /proc/click, some read-only
+and some read/write (writable by the superuser). You control the module by
+writing to files. For example, you install a router configuration by
+writing it to /proc/click/config.
+.PP
+The module does not change your machine's default networking setup until
+you write a configuration to /proc/click/config. This configuration can use
+most of Click's element classes (see
+.BR elements (n)).
+Three kernel-only element classes control how packets are read from, and
+written to, devices:
+.BR FromDevice (n)
+steals packets from devices before Linux process them,
+.BR ToDevice (n)
+sends packets directly to devices, and
+.BR ToLinux (n)
+sends packets to Linux for normal processing. Removing the module or
+installing a null configuration will restore your machine's default
+networking setup.
+.PP
+.SS "/proc/click"
+The files under /proc/click include:
+.TP 5
+.B /proc/click/config
+Read/write. Contains a Click-language description
+.RB "(see " click (5))
+of the most recent router configuration, not including any run-time
+reconfiguration. Write a Click-language router description to this file to
+change the configuration.
+'
+.TP
+.B /proc/click/errors
+Read-only. All errors and messages reported by the Click router since the
+last reconfiguration (that is, the last write to /proc/click/config). These
+messages are also printed to the system log.
+'
+.TP
+.B /proc/click/classes
+Read-only. A newline-separated list of primitive element classes supported
+by the router.
+'
+.TP
+.B /proc/click/list
+Read-only. The elements in the current router configuration, listed one per
+line by name. The first line is an integer: the number of elements.
+'
+.TP
+.B /proc/click/flatconfig
+Read-only. A Click-language description of the current router
+configuration, including the effects of any run-time reconfiguration. All
+the element declarations come first, then all connections, and any compound
+elements have been compiled away.
+'
+.TP
+.B /proc/click/cycles, /proc/click/meminfo
+Read-only. Cycle count and memory usage statistics.
+'
+.SS "Element directories"
+'
+Every element in the current router configuration has a directory under
+/proc/click. You can access the directory by number or element name. The
+.IR i th
+element in /proc/click/list has directory
+.RI `/proc/click/ i ',
+and if the element is named
+.IR n ,
+that directory can be accessed as
+.RI `/proc/click/ n '.
+This works even if the name contains slashes 
+.RB ( click.o
+creates directories for each name component).
+.PP
+The files in these directories include:
+'
+.TP 5
+.BI /proc/click/xxx/class
+Read-only. The element class.
+.TP
+.BI /proc/click/xxx/name
+Read-only. The element's name.
+.TP
+.BI /proc/click/xxx/config
+Read/write if the element supports run-time reconfiguration; otherwise
+read-only. The element's current configuration. Writing to this file (if it
+is writable) causes the element to reconfigure itself on the fly. If the
+reconfiguration fails, the element's old configuration is used instead.
+.TP
+.BI /proc/click/xxx/inputs
+Read-only. Describes the element's inputs: how many there are, and (for
+pull inputs) what they are connected to.
+.TP
+.BI /proc/click/xxx/outputs
+Read-only. Describes the element's outputs: how many there are, and (for
+push outputs) what they are connected to.
+'
+.PP
+Particular elements may add read-only, write-only, or read/write files to
+their directories. RED elements
+.RB "(see " RED (n))
+add read/write
+.BR min_thresh ", " max_thresh ", and " max_p
+files representing RED parameters, and Counter elements
+.RB "(see " Counter (n))
+provide read-only
+.BR count " and " rate
+files to report packet counts and the recent rate. See the element
+documentation
+.RB "(" elements (n))
+for other examples.
+.PP
+The subdirectories are created even for erroneous configurations, but
+element-specific files are created only if the router configuration is
+correct.
+'
+.SH "SEE ALSO"
+click(5), elements(n), FromDevice(n), ToDevice(n), ToLinux(n)
+'
+.SH AUTHOR
+.na
+Eddie Kohler, eddietwo@lcs.mit.edu
+.br
+John Jannotti, jj@lcs.mit.edu
+.br
+Robert Morris, rtm@lcs.mit.edu
+.br
+http://www.pdos.lcs.mit.edu/click/
+'