diff --git a/.config b/.config
index a5211a8..1955ed9 100644
--- a/.config
+++ b/.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # ToyBox version: KCONFIG_VERSION
-# Wed Dec  3 08:12:05 2014
+# Thu Dec 11 17:04:19 2014
 #
 CONFIG_TOYBOX_CONTAINER=y
 CONFIG_TOYBOX_FIFREEZE=y
@@ -135,7 +135,7 @@
 # CONFIG_MKE2FS_LABEL is not set
 # CONFIG_MKE2FS_EXTENDED is not set
 # CONFIG_MODPROBE is not set
-# CONFIG_MORE is not set
+CONFIG_MORE=y
 # CONFIG_NETSTAT is not set
 # CONFIG_NSENTER is not set
 # CONFIG_OPENVT is not set
@@ -221,6 +221,7 @@
 CONFIG_RFKILL=y
 CONFIG_RMMOD=y
 CONFIG_SETSID=y
+# CONFIG_SHRED is not set
 CONFIG_STAT=y
 CONFIG_SWAPOFF=y
 CONFIG_SWAPON=y
diff --git a/Android.mk b/Android.mk
index ccd70c3..f6bbd6e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -115,6 +115,7 @@
     toys/other/vmstat.c \
     toys/other/which.c \
     toys/other/yes.c \
+    toys/pending/more.c \
     toys/posix/basename.c \
     toys/posix/cal.c \
     toys/posix/cat.c \
@@ -233,6 +234,7 @@
     md5sum \
     mkswap \
     modinfo \
+    more \
     mountpoint \
     nice \
     nl \
diff --git a/generated/config.h b/generated/config.h
index 53eff77..8092eb0 100644
--- a/generated/config.h
+++ b/generated/config.h
@@ -246,8 +246,8 @@
 #define USE_MKE2FS_EXTENDED(...)
 #define CFG_MODPROBE 0
 #define USE_MODPROBE(...)
-#define CFG_MORE 0
-#define USE_MORE(...)
+#define CFG_MORE 1
+#define USE_MORE(...) __VA_ARGS__
 #define CFG_NETSTAT 0
 #define USE_NETSTAT(...)
 #define CFG_NSENTER 0
@@ -410,6 +410,8 @@
 #define USE_RMMOD(...) __VA_ARGS__
 #define CFG_SETSID 1
 #define USE_SETSID(...) __VA_ARGS__
+#define CFG_SHRED 0
+#define USE_SHRED(...)
 #define CFG_STAT 1
 #define USE_STAT(...) __VA_ARGS__
 #define CFG_SWAPOFF 1
diff --git a/generated/flags.h b/generated/flags.h
index f1b3740..4ddd834 100644
--- a/generated/flags.h
+++ b/generated/flags.h
@@ -1514,6 +1514,19 @@
 #undef FLAG_b
 #endif
 
+// shred   <1zxus#<1n#<1o#<0f
+#ifdef CLEANUP_shred
+#undef CLEANUP_shred
+#undef FOR_shred
+#undef FLAG_f
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_x
+#undef FLAG_z
+#endif
+
 // skeleton   (walrus)(blubber):;(also):e@d*c#b:a
 #ifdef CLEANUP_skeleton
 #undef CLEANUP_skeleton
@@ -3607,6 +3620,19 @@
 #define FLAG_b (1<<0)
 #endif
 
+#ifdef FOR_shred
+#ifndef TT
+#define TT this.shred
+#endif
+#define FLAG_f 0
+#define FLAG_o 0
+#define FLAG_n 0
+#define FLAG_s 0
+#define FLAG_u 0
+#define FLAG_x 0
+#define FLAG_z 0
+#endif
+
 #ifdef FOR_skeleton
 #ifndef TT
 #define TT this.skeleton
diff --git a/generated/globals.h b/generated/globals.h
index cedb0c3..d3a9566 100644
--- a/generated/globals.h
+++ b/generated/globals.h
@@ -216,6 +216,16 @@
   char *console;
 };
 
+// toys/other/shred.c
+
+struct shred_data {
+  long offset;
+  long iterations;
+  long size;
+
+  int ufd;
+};
+
 // toys/other/stat.c
 
 struct stat_data {
@@ -325,10 +335,10 @@
   // Compressed data buffer
   char *data;
   unsigned pos, len;
-  int fd;
+  int infd, outfd;
 
   // Tables only used for deflation
-  unsigned short *head, *chain;
+  unsigned short *hashhead, *hashchain;
 };
 
 // toys/pending/crond.c
@@ -1165,6 +1175,7 @@
 	struct modinfo_data modinfo;
 	struct netcat_data netcat;
 	struct oneit_data oneit;
+	struct shred_data shred;
 	struct stat_data stat;
 	struct swapon_data swapon;
 	struct switch_root_data switch_root;
diff --git a/generated/help.h b/generated/help.h
index 5075570..43cadad 100644
--- a/generated/help.h
+++ b/generated/help.h
@@ -88,6 +88,8 @@
 
 #define help_stat "usage: stat [-f] [-c FORMAT] FILE...\n\nDisplay status of files or filesystems.\n\n-f display filesystem status instead of file status\n-c Output specified FORMAT string instead of default\n\nThe valid format escape sequences for files:\n%a  Access bits (octal) |%A  Access bits (flags)|%b  Blocks allocated\n%B  Bytes per block     |%d  Device ID (dec)    |%D  Device ID (hex)\n%f  All mode bits (hex) |%F  File type          |%g  Group ID\n%G  Group name          |%h  Hard links         |%i  Inode\n%n  Filename            |%N  Long filename      |%o  I/O block size\n%s  Size (bytes)        |%u  User ID            |%U  User name\n%x  Access time         |%X  Access unix time   |%y  File write time\n%Y  File write unix time|%z  Dir change time    |%Z  Dir change unix time\n\nThe valid format escape sequences for filesystems:\n%a  Available blocks    |%b  Total blocks       |%c  Total inodes\n%d  Free inodes         |%f  Free blocks        |%i  File system ID\n%l  Max filename length |%n  File name          |%s  Fragment size\n%S  Best transfer size  |%t  File system type\n\n"
 
+#define help_shred "usage: shred [-fuz] [-n COUNT] [-s SIZE] FILE...\n\nSecurely delete a file by overwriting its contents with random data.\n\n-f        Force (chmod if necessary)\n-n COUNT  Random overwrite iterations (default 1)\n-o OFFSET Start at OFFSET\n-s SIZE   Use SIZE instead of detecting file size\n-u        unlink (actually delete file when done)\n-x        Use exact size (default without -s rounds up to next 4k)\n-z        zero at end\n\nNote: data journaling filesystems render this command useless, you must\noverwrite all free space (fill up disk) to erase old data on those.\n\n"
+
 #define help_setsid "usage: setsid [-t] command [args...]\n\nRun process in a new session.\n\n-t	Grab tty (become foreground process, receiving keyboard signals)\n\n"
 
 #define help_rmmod "usage: rmmod [-wf] [MODULE]\n\nUnload the module named MODULE from the Linux kernel.\n-f	Force unload of a module\n-w	Wait until the module is no longer used.\n\n\n"
diff --git a/generated/newtoys.h b/generated/newtoys.h
index 37e8e8a..ed5cba3 100644
--- a/generated/newtoys.h
+++ b/generated/newtoys.h
@@ -174,6 +174,7 @@
 USE_SETSID(NEWTOY(setsid, "^<1t", TOYFLAG_USR|TOYFLAG_BIN))
 USE_SH(NEWTOY(sh, "c:"USE_SH_INTERACTIVE("i"), TOYFLAG_BIN))
 USE_SHA1SUM(NEWTOY(sha1sum, "b", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SHRED(NEWTOY(shred, "<1zxus#<1n#<1o#<0f", TOYFLAG_USR|TOYFLAG_BIN))
 USE_SKELETON(NEWTOY(skeleton, "(walrus)(blubber):;(also):e@d*c#b:a", TOYFLAG_USR|TOYFLAG_BIN))
 USE_SKELETON_ALIAS(NEWTOY(skeleton_alias, "b#dq", TOYFLAG_USR|TOYFLAG_BIN))
 USE_SLEEP(NEWTOY(sleep, "<1", TOYFLAG_BIN))
diff --git a/generated/oldtoys.h b/generated/oldtoys.h
index eb7f030..95f5512 100644
--- a/generated/oldtoys.h
+++ b/generated/oldtoys.h
@@ -125,6 +125,7 @@
 #define OPTSTR_setsid	"^<1t"
 #define OPTSTR_sh	"c:"USE_SH_INTERACTIVE("i")
 #define OPTSTR_sha1sum	"b"
+#define OPTSTR_shred	"<1zxus#<1n#<1o#<0f"
 #define OPTSTR_skeleton	"(walrus)(blubber):;(also):e@d*c#b:a"
 #define OPTSTR_skeleton_alias	"b#dq"
 #define OPTSTR_sleep	"<1"
