diff --git a/docs/busybox.pod b/docs/busybox.pod
index 4294448..cdf96bc 100644
--- a/docs/busybox.pod
+++ b/docs/busybox.pod
@@ -70,7 +70,25 @@
 
 =over 4
 
-=item I<ar>
+=item B<adjtimex>
+
+adjtimex [B<-q>] [B<-o> offset] [B<-f> frequency] [B<-p> timeconstant] [B<-t> tick]
+
+Reads and optionally sets system timebase parameters.
+See adjtimex(2).
+
+Options:
+
+	-q		quiet mode - do not print
+	-o offset	time offset, microseconds
+	-f frequency	frequency adjust, integer kernel units (65536 is 1ppm)
+			(positive values make the system clock run fast)
+	-t tick		microseconds per tick, usually 10000
+	-p timeconstant
+
+-------------------------------
+
+=item B<ar>
 
 ar -[ovR]{ptx} archive filenames
 
@@ -87,7 +105,7 @@
 
 -------------------------------
 
-=item I<basename>
+=item B<basename>
 
 basename FILE [SUFFIX]
 
@@ -105,7 +123,7 @@
 
 -------------------------------
 
-=item I<cat>
+=item B<cat>
 
 cat [FILE]...
 
@@ -118,7 +136,7 @@
 
 -------------------------------
 
-=item I<chgrp>
+=item B<chgrp>
 
 chgrp [OPTION]... GROUP FILE...
 
@@ -138,7 +156,7 @@
 
 -------------------------------
 
-=item I<chmod>
+=item B<chmod>
 
 chmod [B<-R>] MODE[,MODE]... FILE...
 
@@ -162,9 +180,9 @@
 
 -------------------------------
 
-=item I<chown>
+=item B<chown>
 
-chown [OPTION]...  OWNER[<.|:>[GROUP] FILE...
+chown [OPTION]...  OWNER[<.|:>[GROUP]] FILE...
 
 Change the owner and/or group of each FILE to OWNER and/or GROUP.
 
@@ -185,7 +203,7 @@
 
 -------------------------------
 
-=item I<chroot>
+=item B<chroot>
 
 chroot NEWROOT [COMMAND...]
 
@@ -202,7 +220,7 @@
 
 -------------------------------
 
-=item I<chvt>
+=item B<chvt>
 
 chvt N
 
@@ -210,7 +228,7 @@
 
 -------------------------------
 
-=item I<clear>
+=item B<clear>
 
 clear 
 
@@ -218,7 +236,7 @@
 
 -------------------------------
 
-=item I<cmp>
+=item B<cmp>
 
 cmp FILE1 [FILE2]
 
@@ -226,7 +244,7 @@
 
 -------------------------------
 
-=item I<cp>
+=item B<cp>
 
 cp [OPTION]... SOURCE DEST
 
@@ -240,7 +258,7 @@
 
 -------------------------------
 
-=item I<cut>
+=item B<cut>
 
 cut [OPTION]... [FILE]...
 
@@ -264,7 +282,7 @@
 
 -------------------------------
 
-=item I<date>
+=item B<date>
 
 date [OPTION]... [+FORMAT]
 
@@ -284,7 +302,7 @@
 
 -------------------------------
 
-=item I<dc>
+=item B<dc>
 
 dc expression ...
 
@@ -307,7 +325,7 @@
 
 -------------------------------
 
-=item I<dd>
+=item B<dd>
 
 dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N]
 	  [seek=N] [conv=notrunc|sync]
@@ -334,7 +352,7 @@
 
 -------------------------------
 
-=item I<deallocvt>
+=item B<deallocvt>
 
 deallocvt N
 
@@ -342,7 +360,7 @@
 
 -------------------------------
 
-=item I<df>
+=item B<df>
 
 df [B<-hmk>] [filesystem ...]
 
@@ -366,7 +384,7 @@
 
 -------------------------------
 
-=item I<dirname>
+=item B<dirname>
 
 dirname [FILENAME ...]
 
@@ -381,7 +399,7 @@
 
 -------------------------------
 
-=item I<dmesg>
+=item B<dmesg>
 
 dmesg [B<-c>] [B<-n> LEVEL] [B<-s> SIZE]
 
@@ -395,7 +413,7 @@
 
 -------------------------------
 
-=item I<dos2unix>
+=item B<dos2unix>
 
 dos2unix [option] [file]
 
@@ -413,7 +431,7 @@
 
 -------------------------------
 
-=item I<dpkg>
+=item B<dpkg>
 
 dpkg [B<-i>|B<-r>|-B<-unpack>|-B<-configure>] my.deb
 
@@ -421,7 +439,7 @@
 
 -------------------------------
 
-=item I<dpkg_deb>
+=item B<dpkg_deb>
 
 dpkg_deb [B<-cexX>] file directory
 
@@ -441,7 +459,7 @@
 
 -------------------------------
 
-=item I<du>
+=item B<du>
 
 du [B<-lshmk>] [FILE]...
 
@@ -472,7 +490,7 @@
 
 -------------------------------
 
-=item I<dumpkmap>
+=item B<dumpkmap>
 
 dumpkmap > keymap
 
@@ -484,7 +502,7 @@
 
 -------------------------------
 
-=item I<dutmp>
+=item B<dutmp>
 
 dutmp [FILE]
 
@@ -504,7 +522,7 @@
 
 -------------------------------
 
-=item I<echo>
+=item B<echo>
 
 echo [B<-neE>] [ARG ...]
 
@@ -535,7 +553,21 @@
 
 -------------------------------
 
-=item I<expr>
+=item B<env>
+
+env [-] [B<-iu>] [name=value ...] [command]
+
+Prints the current environment or runs a program after setting
+up the specified environment.
+
+Options:
+
+	-, -i	start with an empty environment
+	-u	remove variable from the environment
+
+-------------------------------
+
+=item B<expr>
 
 expr EXPRESSION
 
@@ -575,7 +607,7 @@
 
 -------------------------------
 
-=item I<false>
+=item B<false>
 
 false 
 
@@ -589,7 +621,7 @@
 
 -------------------------------
 
-=item I<fbset>
+=item B<fbset>
 
 fbset [options] [mode]
 
@@ -607,7 +639,7 @@
 
 -------------------------------
 
-=item I<fdflush>
+=item B<fdflush>
 
 fdflush DEVICE
 
@@ -615,7 +647,7 @@
 
 -------------------------------
 
-=item I<find>
+=item B<find>
 
 find [PATH...] [EXPRESSION]
 
@@ -625,7 +657,8 @@
 EXPRESSION may consist of:
 
 	-follow		Dereference symbolic links.
-	-name PATTERN	File name (leading directories removed) matches PATTERN.
+	-name PATTERN	File name (leading directories removed) matches PATTERN.	-print		Print (default and assumed).
+
 	-type X		Filetype matches X (where X is one of: f,d,l,b,c,...)
 	-perm PERMS	Permissions match any of (+NNN); all of (-NNN);
 			or exactly (NNN)
@@ -639,7 +672,7 @@
 
 -------------------------------
 
-=item I<free>
+=item B<free>
 
 free 
 
@@ -656,7 +689,7 @@
 
 -------------------------------
 
-=item I<freeramdisk>
+=item B<freeramdisk>
 
 freeramdisk DEVICE
 
@@ -668,7 +701,7 @@
 
 -------------------------------
 
-=item I<fsck_minix>
+=item B<fsck_minix>
 
 fsck_minix [B<-larvsmf>] /dev/name
 
@@ -686,7 +719,7 @@
 
 -------------------------------
 
-=item I<getopt>
+=item B<getopt>
 
 getopt [OPTIONS]...
 
@@ -725,7 +758,7 @@
 
 -------------------------------
 
-=item I<grep>
+=item B<grep>
 
 grep [B<-ihHnqvs>] pattern [files...]
 
@@ -750,7 +783,7 @@
 
 -------------------------------
 
-=item I<gunzip>
+=item B<gunzip>
 
 gunzip [OPTION]... FILE
 
@@ -771,7 +804,7 @@
 
 -------------------------------
 
-=item I<gzip>
+=item B<gzip>
 
 gzip [OPTION]... FILE
 
@@ -793,7 +826,7 @@
 
 -------------------------------
 
-=item I<halt>
+=item B<halt>
 
 halt 
 
@@ -801,7 +834,7 @@
 
 -------------------------------
 
-=item I<head>
+=item B<head>
 
 head [OPTION] [FILE]...
 
@@ -821,7 +854,7 @@
 
 -------------------------------
 
-=item I<hostid>
+=item B<hostid>
 
 hostid 
 
@@ -829,7 +862,7 @@
 
 -------------------------------
 
-=item I<hostname>
+=item B<hostname>
 
 hostname [OPTION] {hostname | B<-F> file}
 
@@ -850,7 +883,7 @@
 
 -------------------------------
 
-=item I<id>
+=item B<id>
 
 id [OPTIONS]... [USERNAME]
 
@@ -870,7 +903,7 @@
 
 -------------------------------
 
-=item I<ifconfig>
+=item B<ifconfig>
 
 ifconfig [B<-a>] <interface> [<address>]
 
@@ -889,7 +922,7 @@
 
 -------------------------------
 
-=item I<init>
+=item B<init>
 
 init 
 
@@ -906,15 +939,10 @@
 
 	::sysinit:/etc/init.d/rcS
 	::askfirst:/bin/sh
-	::ctrlaltdel:/sbin/reboot
-	::shutdown:/sbin/swapoff -a
-	::shutdown:/bin/umount -a -r
 
 if it detects that /dev/console is _not_ a serial console, it will also run:
 
 	tty2::askfirst:/bin/sh
-	tty3::askfirst:/bin/sh
-	tty4::askfirst:/bin/sh
 
 If you choose to use an /etc/inittab file, the inittab entry format is as follows:
 
@@ -940,7 +968,7 @@
 	<action>: 
 
 		Valid actions include: sysinit, respawn, askfirst, wait, 
-		once, ctrlaltdel, and shutdown.
+		once, and ctrlaltdel.
 
 		The available actions can be classified into two groups: actions
 		that are run only once, and actions that are re-run when the specified
@@ -954,12 +982,9 @@
 			'wait' actions, like  'sysinit' actions, cause init to wait until
 			the specified task completes.  'once' actions are asyncronous,
 			therefore, init does not wait for them to complete.  'ctrlaltdel'
-			actions are run when the system detects that someone on the system
-            console has pressed the CTRL-ALT-DEL key combination.  Typically one
-            wants to run 'reboot' at this point to cause the system to reboot.
-			Finally the 'shutdown' action specifies the actions to taken when
-            init is told to reboot.  Unmounting filesystems and disabling swap
-            is a very good here.
+			actions are run immediately before init causes the system to reboot
+			(unmounting filesystems with a 'ctrlaltdel' action is a very good
+			idea).
 
 		Run repeatedly actions:
 
@@ -984,22 +1009,23 @@
 
 	::sysinit:/etc/init.d/rcS
 	
-	::askfirst:-/bin/sh
-	tty2::askfirst:-/bin/sh
+		::askfirst:-/bin/sh
+		tty2::askfirst:-/bin/sh
 	tty3::askfirst:-/bin/sh
 	tty4::askfirst:-/bin/sh
 	
 	tty4::respawn:/sbin/getty 38400 tty5
 	tty5::respawn:/sbin/getty 38400 tty6
 	
-	::ctrlaltdel:/sbin/reboot
-	::shutdown:/bin/umount -a -r
-	::shutdown:/sbin/swapoff -a
+	
+		
+		::ctrlaltdel:/bin/umount -a -r
+	::ctrlaltdel:/sbin/swapoff -a
 
 
 -------------------------------
 
-=item I<insmod>
+=item B<insmod>
 
 insmod [OPTION]... MODULE [symbol=value]...
 
@@ -1015,7 +1041,7 @@
 
 -------------------------------
 
-=item I<kill>
+=item B<kill>
 
 kill [B<-signal>] process-id [process-id ...]
 
@@ -1038,7 +1064,7 @@
 
 -------------------------------
 
-=item I<killall>
+=item B<killall>
 
 killall [B<-signal>] process-name [process-name ...]
 
@@ -1055,7 +1081,7 @@
 
 -------------------------------
 
-=item I<klogd>
+=item B<klogd>
 
 klogd B<-n>
 
@@ -1066,7 +1092,7 @@
 
 -------------------------------
 
-=item I<length>
+=item B<length>
 
 length STRING
 
@@ -1079,7 +1105,7 @@
 
 -------------------------------
 
-=item I<ln>
+=item B<ln>
 
 ln [OPTION] TARGET... LINK_NAME|DIRECTORY
 
@@ -1102,7 +1128,7 @@
 
 -------------------------------
 
-=item I<loadacm>
+=item B<loadacm>
 
 loadacm < mapfile
 
@@ -1115,7 +1141,7 @@
 
 -------------------------------
 
-=item I<loadfont>
+=item B<loadfont>
 
 loadfont < font
 
@@ -1128,7 +1154,7 @@
 
 -------------------------------
 
-=item I<loadkmap>
+=item B<loadkmap>
 
 loadkmap < keymap
 
@@ -1141,7 +1167,7 @@
 
 -------------------------------
 
-=item I<logger>
+=item B<logger>
 
 logger [OPTION]... [MESSAGE]
 
@@ -1161,7 +1187,7 @@
 
 -------------------------------
 
-=item I<logname>
+=item B<logname>
 
 logname 
 
@@ -1175,7 +1201,7 @@
 
 -------------------------------
 
-=item I<logread>
+=item B<logread>
 
 logread 
 
@@ -1183,7 +1209,7 @@
 
 -------------------------------
 
-=item I<ls>
+=item B<ls>
 
 ls [B<-1AacCdeFilnpLRrSsTtuvwxXhk>] [filenames...]
 
@@ -1220,7 +1246,7 @@
 
 -------------------------------
 
-=item I<lsmod>
+=item B<lsmod>
 
 lsmod 
 
@@ -1228,7 +1254,7 @@
 
 -------------------------------
 
-=item I<makedevs>
+=item B<makedevs>
 
 makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]
 
@@ -1259,7 +1285,7 @@
 
 -------------------------------
 
-=item I<md5sum>
+=item B<md5sum>
 
 md5sum [OPTION] [FILE]...
 or: md5sum [OPTION] B<-c> [FILE]
@@ -1292,7 +1318,7 @@
 
 -------------------------------
 
-=item I<mkdir>
+=item B<mkdir>
 
 mkdir [OPTION] DIRECTORY...
 
@@ -1315,7 +1341,7 @@
 
 -------------------------------
 
-=item I<mkfifo>
+=item B<mkfifo>
 
 mkfifo [OPTIONS] name
 
@@ -1327,7 +1353,7 @@
 
 -------------------------------
 
-=item I<mkfs_minix>
+=item B<mkfs_minix>
 
 mkfs_minix [B<-c> | B<-l> filename] [B<-nXX>] [B<-iXX>] /dev/name [blocks]
 
@@ -1343,7 +1369,7 @@
 
 -------------------------------
 
-=item I<mknod>
+=item B<mknod>
 
 mknod [OPTIONS] NAME TYPE MAJOR MINOR
 
@@ -1367,7 +1393,7 @@
 
 -------------------------------
 
-=item I<mkswap>
+=item B<mkswap>
 
 mkswap [B<-c>] [B<-v0>|B<-v1>] device [block-count]
 
@@ -1383,7 +1409,7 @@
 
 -------------------------------
 
-=item I<mktemp>
+=item B<mktemp>
 
 mktemp [B<-q>] TEMPLATE
 
@@ -1400,7 +1426,7 @@
 
 -------------------------------
 
-=item I<more>
+=item B<more>
 
 more [FILE ...]
 
@@ -1413,7 +1439,7 @@
 
 -------------------------------
 
-=item I<mount>
+=item B<mount>
 
 mount [flags] device directory [B<-o> options,more-options]
 
@@ -1455,7 +1481,7 @@
 
 -------------------------------
 
-=item I<mt>
+=item B<mt>
 
 mt [B<-f> device] opcode value
 
@@ -1470,7 +1496,7 @@
 
 -------------------------------
 
-=item I<mv>
+=item B<mv>
 
 mv SOURCE DEST
 or: mv SOURCE... DIRECTORY
@@ -1484,7 +1510,7 @@
 
 -------------------------------
 
-=item I<nc>
+=item B<nc>
 
 nc [IP] [port] 
 
@@ -1503,7 +1529,7 @@
 
 -------------------------------
 
-=item I<nslookup>
+=item B<nslookup>
 
 nslookup [HOST]
 
@@ -1521,7 +1547,7 @@
 
 -------------------------------
 
-=item I<ping>
+=item B<ping>
 
 ping [OPTION]... host
 
@@ -1547,7 +1573,7 @@
 
 -------------------------------
 
-=item I<pivot_root>
+=item B<pivot_root>
 
 pivot_root new_root put_old
 
@@ -1556,7 +1582,7 @@
 
 -------------------------------
 
-=item I<poweroff>
+=item B<poweroff>
 
 poweroff 
 
@@ -1564,7 +1590,7 @@
 
 -------------------------------
 
-=item I<printf>
+=item B<printf>
 
 printf FORMAT [ARGUMENT...]
 
@@ -1580,7 +1606,7 @@
 
 -------------------------------
 
-=item I<ps>
+=item B<ps>
 
 ps 
 
@@ -1604,7 +1630,7 @@
 
 -------------------------------
 
-=item I<pwd>
+=item B<pwd>
 
 pwd 
 
@@ -1617,7 +1643,7 @@
 
 -------------------------------
 
-=item I<rdate>
+=item B<rdate>
 
 rdate [OPTION] HOST
 
@@ -1630,7 +1656,7 @@
 
 -------------------------------
 
-=item I<readlink>
+=item B<readlink>
 
 readlink 
 
@@ -1638,7 +1664,7 @@
 
 -------------------------------
 
-=item I<reboot>
+=item B<reboot>
 
 reboot 
 
@@ -1646,7 +1672,7 @@
 
 -------------------------------
 
-=item I<renice>
+=item B<renice>
 
 renice priority pid [pid ...]
 
@@ -1656,7 +1682,7 @@
 
 -------------------------------
 
-=item I<reset>
+=item B<reset>
 
 reset 
 
@@ -1664,7 +1690,7 @@
 
 -------------------------------
 
-=item I<rm>
+=item B<rm>
 
 rm [OPTION]... FILE...
 
@@ -1683,7 +1709,7 @@
 
 -------------------------------
 
-=item I<rmdir>
+=item B<rmdir>
 
 rmdir [OPTION]... DIRECTORY...
 
@@ -1695,7 +1721,7 @@
 
 -------------------------------
 
-=item I<rmmod>
+=item B<rmmod>
 
 rmmod [OPTION]... [MODULE]...
 
@@ -1711,7 +1737,7 @@
 
 -------------------------------
 
-=item I<route>
+=item B<route>
 
 route [{add|del|flush}]
 
@@ -1719,7 +1745,7 @@
 
 -------------------------------
 
-=item I<rpmunpack>
+=item B<rpmunpack>
 
 rpmunpack < package.rpm | gunzip | cpio B<-idmuv>
 
@@ -1727,7 +1753,7 @@
 
 -------------------------------
 
-=item I<sed>
+=item B<sed>
 
 sed [B<-Vhnef>] pattern [files...]
 
@@ -1749,7 +1775,7 @@
 
 -------------------------------
 
-=item I<setkeycodes>
+=item B<setkeycodes>
 
 setkeycodes SCANCODE KEYCODE ...
 
@@ -1765,7 +1791,7 @@
 
 -------------------------------
 
-=item I<sh>
+=item B<sh>
 
 sh [FILE]...
 or: sh B<-c> command [args]...
@@ -1783,7 +1809,7 @@
 
 -------------------------------
 
-=item I<sleep>
+=item B<sleep>
 
 sleep N
 
@@ -1796,7 +1822,7 @@
 
 -------------------------------
 
-=item I<sort>
+=item B<sort>
 
 sort [B<-n>] [B<-r>] [FILE]...
 
@@ -1819,7 +1845,7 @@
 
 -------------------------------
 
-=item I<stty>
+=item B<stty>
 
 stty [B<-a>|g] [B<-F> device] [SETTING]...
 
@@ -1835,7 +1861,7 @@
 
 -------------------------------
 
-=item I<swapoff>
+=item B<swapoff>
 
 swapoff [OPTION] [device]
 
@@ -1847,7 +1873,7 @@
 
 -------------------------------
 
-=item I<swapon>
+=item B<swapon>
 
 swapon [OPTION] [device]
 
@@ -1859,7 +1885,7 @@
 
 -------------------------------
 
-=item I<sync>
+=item B<sync>
 
 sync 
 
@@ -1867,7 +1893,7 @@
 
 -------------------------------
 
-=item I<syslogd>
+=item B<syslogd>
 
 syslogd [OPTION]...
 
@@ -1889,7 +1915,7 @@
 
 -------------------------------
 
-=item I<tail>
+=item B<tail>
 
 tail [OPTION]... [FILE]...
 
@@ -1917,7 +1943,7 @@
 
 -------------------------------
 
-=item I<tar>
+=item B<tar>
 
 tar -[cxtvO] [-B<-exclude> File] [B<-X> File][B<-f> tarFile] [FILE(s)] ...
 
@@ -1947,7 +1973,7 @@
 
 -------------------------------
 
-=item I<tee>
+=item B<tee>
 
 tee [OPTION]... [FILE]...
 
@@ -1965,7 +1991,7 @@
 
 -------------------------------
 
-=item I<telnet>
+=item B<telnet>
 
 telnet host [port]
 
@@ -1974,7 +2000,7 @@
 
 -------------------------------
 
-=item I<test>
+=item B<test>
 
 test EXPRESSION
   or   [ EXPRESSION ]
@@ -1999,7 +2025,7 @@
 
 -------------------------------
 
-=item I<tftp>
+=item B<tftp>
 
 tftp command SOURCE DEST
 
@@ -2014,7 +2040,7 @@
 
 -------------------------------
 
-=item I<touch>
+=item B<touch>
 
 touch [B<-c>] file [file ...]
 
@@ -2035,7 +2061,7 @@
 
 -------------------------------
 
-=item I<tr>
+=item B<tr>
 
 tr [B<-cds>] STRING1 [STRING2]
 
@@ -2056,7 +2082,7 @@
 
 -------------------------------
 
-=item I<true>
+=item B<true>
 
 true 
 
@@ -2070,7 +2096,7 @@
 
 -------------------------------
 
-=item I<tty>
+=item B<tty>
 
 tty 
 
@@ -2087,7 +2113,7 @@
 
 -------------------------------
 
-=item I<umount>
+=item B<umount>
 
 umount [flags] filesystem|directory
 
@@ -2107,7 +2133,7 @@
 
 -------------------------------
 
-=item I<uname>
+=item B<uname>
 
 uname [OPTION]...
 
@@ -2130,7 +2156,7 @@
 
 -------------------------------
 
-=item I<uniq>
+=item B<uniq>
 
 uniq [OPTION]... [INPUT [OUTPUT]]
 
@@ -2157,7 +2183,7 @@
 
 -------------------------------
 
-=item I<unix2dos>
+=item B<unix2dos>
 
 unix2dos [option] [file]
 
@@ -2165,7 +2191,7 @@
 
 -------------------------------
 
-=item I<update>
+=item B<update>
 
 update [options]
 
@@ -2179,7 +2205,7 @@
 
 -------------------------------
 
-=item I<uptime>
+=item B<uptime>
 
 uptime 
 
@@ -2193,7 +2219,7 @@
 
 -------------------------------
 
-=item I<usleep>
+=item B<usleep>
 
 usleep N 
 
@@ -2206,7 +2232,7 @@
 
 -------------------------------
 
-=item I<uudecode>
+=item B<uudecode>
 
 uudecode [FILE]...
 
@@ -2214,14 +2240,18 @@
 
 Options:
 
-	-o FILE	direct output to FILE$ uudecode -o busybox busybox.uu
-$ ls B<-l> busybox
-B<-rwxr>-xr-x   1 ams      ams        245264 Jun  7 21:35 busybox
- 
+	-o FILE	direct output to FILE 
+
+Example:
+
+	$ uudecode -o busybox busybox.uu
+	$ ls -l busybox
+	-rwxr-xr-x   1 ams      ams        245264 Jun  7 21:35 busybox
+	 
 
 -------------------------------
 
-=item I<uuencode>
+=item B<uuencode>
 
 uuencode [OPTION] [INFILE] REMOTEFILE
 
@@ -2241,7 +2271,7 @@
 
 -------------------------------
 
-=item I<watchdog>
+=item B<watchdog>
 
 watchdog DEV
 
@@ -2249,7 +2279,7 @@
 
 -------------------------------
 
-=item I<wc>
+=item B<wc>
 
 wc [OPTION]... [FILE]...
 
@@ -2271,7 +2301,7 @@
 
 -------------------------------
 
-=item I<wget>
+=item B<wget>
 
 wget [B<-c>] [B<-O> file] url
 
@@ -2284,7 +2314,7 @@
 
 -------------------------------
 
-=item I<which>
+=item B<which>
 
 which [COMMAND ...]
 
@@ -2297,7 +2327,7 @@
 
 -------------------------------
 
-=item I<whoami>
+=item B<whoami>
 
 whoami 
 
@@ -2305,7 +2335,7 @@
 
 -------------------------------
 
-=item I<xargs>
+=item B<xargs>
 
 xargs [COMMAND] [ARGS...]
 
@@ -2319,7 +2349,7 @@
 
 -------------------------------
 
-=item I<yes>
+=item B<yes>
 
 yes [OPTION]... [STRING]...
 
@@ -2327,7 +2357,7 @@
 
 -------------------------------
 
-=item I<zcat>
+=item B<zcat>
 
 zcat FILE
 
@@ -2335,8 +2365,6 @@
 
 -------------------------------
 
-=back
-
 =head1 LIBC NSS
 
 GNU Libc uses the Name Service Switch (NSS) to configure the behavior of the C
@@ -2483,4 +2511,4 @@
 
 =cut
 
-# $Id: busybox.pod,v 1.93 2001/04/03 18:01:51 andersen Exp $
+# $Id: busybox.pod,v 1.94 2001/04/05 19:41:23 beppu Exp $
diff --git a/docs/busybox_footer.pod b/docs/busybox_footer.pod
new file mode 100644
index 0000000..961f027
--- /dev/null
+++ b/docs/busybox_footer.pod
@@ -0,0 +1,147 @@
+=head1 LIBC NSS
+
+GNU Libc uses the Name Service Switch (NSS) to configure the behavior of the C
+library for the local environment, and to configure how it reads system data,
+such as passwords and group information.  BusyBox has made it Policy that it
+will never use NSS, and will never use and libc calls that make use of NSS.
+This allows you to run an embedded system without the need for installing an
+/etc/nsswitch.conf file and without and /lib/libnss_* libraries installed.
+
+If you are using a system that is using a remote LDAP server for authentication
+via GNU libc NSS, and you want to use BusyBox, then you will need to adjust the
+BusyBox source.  Chances are though, that if you have enough space to install
+of that stuff on your system, then you probably want the full GNU utilities.
+
+=head1 SEE ALSO
+
+textutils(1), shellutils(1), etc...
+
+=head1 MAINTAINER
+
+Erik Andersen <andersee@debian.org> <andersen@lineo.com>
+
+=head1 AUTHORS
+
+The following people have contributed code to BusyBox whether
+they know it or not.
+
+
+=for html <br>
+
+Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
+
+    Tons of new stuff, major rewrite of most of the
+    core apps, tons of new apps as noted in header files.
+
+=for html <br>
+
+Edward Betts <edward@debian.org>
+
+    expr, hostid, logname, tty, wc, whoami, yes
+ 
+=for html <br>
+
+John Beppu <beppu@lineo.com>
+
+    du, head, nslookup, sort, tee, uniq
+
+=for html <br>
+
+Brian Candler <B.Candler@pobox.com>
+
+    tiny-ls(ls)
+
+=for html <br>
+
+Randolph Chung <tausq@debian.org>
+
+    fbset, ping, hostname, and mkfifo
+
+=for html <br>
+
+Dave Cinege <dcinege@psychosis.com>	
+
+    more(v2), makedevs, dutmp, modularization, auto links file, 
+    various fixes, Linux Router Project maintenance
+
+=for html <br>
+
+Karl M. Hegbloom <karlheg@debian.org>
+
+    cp_mv.c, the test suite, various fixes to utility.c, &c.
+
+=for html <br>
+
+Daniel Jacobowitz <dan@debian.org>
+
+    mktemp.c
+
+=for html <br>
+
+Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+    documentation, bugfixes
+
+=for html <br>
+
+John Lombardo <john@deltanet.com>	
+
+    dirname, tr
+
+=for html <br>
+
+Glenn McGrath <bug1@netconnect.com.au>
+
+    ar.c
+
+=for html <br>
+
+Bruce Perens <bruce@pixar.com>
+
+    Original author of BusyBox. His code is still in many apps.
+
+=for html <br>
+
+Chip Rosenthal <chip@unicom.com>, <crosenth@covad.com>
+
+    wget - Contributed by permission of Covad Communications
+
+=for html <br>
+
+Pavel Roskin <proski@gnu.org>
+
+    Lots of bugs fixes and patches.
+
+=for html <br>
+
+Gyepi Sam <gyepi@praxis-sw.com>
+
+    Remote logging feature for syslogd
+
+=for html <br>
+
+Linus Torvalds <torvalds@transmeta.com>
+
+    mkswap, fsck.minix, mkfs.minix
+
+=for html <br>
+
+Mark Whitley <markw@lineo.com>
+
+    sed remix, bug fixes, style-guide, etc.
+
+=for html <br>
+
+Charles P. Wright <cpwright@villagenet.com>
+
+    gzip, mini-netcat(nc)
+
+=for html <br>
+
+Enrique Zanardi <ezanardi@ull.es>
+
+    tarcat (since removed), loadkmap, various fixes, Debian maintenance
+
+=cut
+
+# $Id: busybox_footer.pod,v 1.1 2001/04/05 19:41:23 beppu Exp $
diff --git a/docs/busybox_header.pod b/docs/busybox_header.pod
new file mode 100644
index 0000000..1208afa
--- /dev/null
+++ b/docs/busybox_header.pod
@@ -0,0 +1,72 @@
+# vi: set sw=4 ts=4:
+
+=head1 NAME
+
+BusyBox - The Swiss Army Knife of Embedded Linux
+
+=head1 SYNTAX
+
+ BusyBox <function> [arguments...]  # or
+
+ <function> [arguments...]	    # if symlinked
+
+=head1 DESCRIPTION
+
+BusyBox combines tiny versions of many common UNIX utilities into a single
+small executable. It provides minimalist replacements for most of the utilities
+you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
+tar, etc.  BusyBox provides a fairly complete POSIX environment for any small
+or embedded system.  The utilities in BusyBox generally have fewer options than
+their full-featured GNU cousins; however, the options that are included provide
+the expected functionality and behave very much like their GNU counterparts. 
+
+BusyBox has been written with size-optimization and limited resources in mind.
+It is also extremely modular so you can easily include or exclude commands (or
+features) at compile time.  This makes it easy to customize your embedded
+systems.  To create a working system, just add a kernel, a shell (such as ash),
+and an editor (such as elvis-tiny or ae).
+
+=head1 USAGE
+
+When you create a link to BusyBox for the function you wish to use, when BusyBox
+is called using that link it will behave as if the command itself has been invoked.
+
+For example, entering
+
+	ln -s ./BusyBox ls
+	./ls
+
+will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
+into BusyBox). 
+
+You can also invoke BusyBox by issuing the command as an argument on the
+command line.  For example, entering
+
+	./BusyBox ls
+
+will also cause BusyBox to behave as 'ls'. 
+
+=head1 COMMON OPTIONS
+
+Most BusyBox commands support the B<--help> option to provide a
+terse runtime description of their behavior. 
+
+=head1 COMMANDS
+
+Currently defined functions include:
+
+ar, basename, busybox, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp,
+cut, date, dc, dd, deallocvt, df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du,
+dumpkmap, dutmp, echo, expr, false, fbset, fdflush, find, free, freeramdisk,
+fsck.minix, getopt, grep, gunzip, gzip, halt, head, hostid, hostname, id,
+ifconfig, init, insmod, kill, killall, klogd, length, ln, loadacm, loadfont,
+loadkmap, logger, logname, ls, lsmod, makedevs, md5sum, mkdir, mkfifo,
+mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc, nslookup, ping,
+pivot_root, poweroff, printf, ps, pwd, rdate, readlink, reboot, renice, reset,
+rm, rmdir, rmmod, route, rpmunpack, sed, setkeycodes, sh, sleep, sort, stty,
+swapoff, swapon, sync, syslogd, tail, tar, tee, telnet, test, tftp, touch, tr,
+true, tty, umount, uname, uniq, unix2dos, update, uptime, usleep, uudecode,
+uuencode, watchdog, wc, wget, which, whoami, xargs, yes, zcat, [
+
+=over 4
+
