diff --git a/obj/tools/MGtool/man.d/xcall b/obj/tools/MGtool/man.d/xcall
new file mode 100644
index 0000000..43e21ea
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xcall
@@ -0,0 +1,21 @@
+SYNOPSIS
+      xcall <object>-><function>(<expression>)
+
+DESCRIPTION
+      Calls the lfun <function> of the <object> with <expression> as
+      argument. The <properties.h> are included. Three objects are allready
+      defined on invokation. "me" represents the onwer of the Xtool. "here"
+      is the current room and "obj" is the object which lfun is called.
+      To use the object access syntax described above, a function called
+      "get(string)" can be used. If the call returned an object, the variable
+      "$result" will be set to this object.
+      xcall includes a private ~/.xtool.h, if it exists, to support user
+      defined macros.
+
+EXAMPLES
+      xcall $me->QueryProp(P_LONG)
+      xcall /std/thing#145->SetProp(P_SHORT,"a small thing")
+      xcall /secure/master->add_domain_wiz("hell", "hyp")
+      xcall $me->move(get("^deepthought"),"go")
+      (the last one uses the function get() to find the room where our god is)
+
diff --git a/obj/tools/MGtool/man.d/xcallouts b/obj/tools/MGtool/man.d/xcallouts
new file mode 100644
index 0000000..79adfa6
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xcallouts
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xcallouts [search pattern]
+	  or
+	  xcallouts    (when writing to a pipe)
+
+DESCRIPTION
+      With no argument it shows all your callouts. With a regexp as argument,
+      all matching callouts will be printed. When writing to a pipe, all
+	  call_outs will be printed and the search pattern is not allowed.
+
+EXAMPLES
+      xcallouts obj   Show all callouts with the string "obj" in it.
+      xcallouts .     Show all callouts. Please never do this if it isn't
+                      really neccessary. It just costs time - and what do you
+                      want to do with this mass of information?
+
diff --git a/obj/tools/MGtool/man.d/xclean b/obj/tools/MGtool/man.d/xclean
new file mode 100644
index 0000000..dcc488e
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xclean
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xclean [object]
+
+DESCRIPTION
+      Clean the inventory of the object, but don't destruct any living.
+      With no argument the current room will be cleaned. The objects
+      are removed with the lfun remove().
+
+EXAMPLE
+      xclean $me.bag
+      Clean my bag.
+
diff --git a/obj/tools/MGtool/man.d/xclone b/obj/tools/MGtool/man.d/xclone
new file mode 100644
index 0000000..00c1b7a
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xclone
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xclone <filename>
+
+DESCRIPTION
+      Clones an object. On error, the error log file will be printed.
+      Moves the object (if possible) into your inventory. If the object
+      has been cloned successfully, the variable "$clone" will be set,
+      to make sure we don't lose the object out of sight :)
+
+EXAMPLE
+      xclone /std/thing
+      xcall $clone->SetShort("a BIG thing!");
+
diff --git a/obj/tools/MGtool/man.d/xdbg b/obj/tools/MGtool/man.d/xdbg
new file mode 100644
index 0000000..5609f2f
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdbg
@@ -0,0 +1,14 @@
+SYNOPSIS
+      xdbg <object>
+
+DESCRIPTION
+      Prints out debug information buy using the efun debug_info().
+      Not all of these information is useful but it gives you information
+      of how many variables, functions, inherited objetcs and so on a object
+      has. It also shows if an object is living, if its heart beat is turned
+      on, when the next call of reset() will be (but don't take this value
+      not too seriously) etc.
+
+EXAMPLE
+      xdbg $me
+
diff --git a/obj/tools/MGtool/man.d/xdclean b/obj/tools/MGtool/man.d/xdclean
new file mode 100644
index 0000000..79f9093
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdclean
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xdclean <object>
+
+DESCRIPTION
+      Same as xclean, but makes a deep clean.
+
diff --git a/obj/tools/MGtool/man.d/xddes b/obj/tools/MGtool/man.d/xddes
new file mode 100644
index 0000000..a235645
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xddes
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xddes <object>
+
+DESCRIPTION
+      Same as xdes, but makes a deep destruct.
+
diff --git a/obj/tools/MGtool/man.d/xdes b/obj/tools/MGtool/man.d/xdes
new file mode 100644
index 0000000..17bf984
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdes
@@ -0,0 +1,8 @@
+SYNOPSIS
+      xdes <object>
+
+DESCRIPTION
+      Destruct an object using by first calling the lfun remove() of the
+      object and if its still "alive" then destruct it with the efun
+      destruct().
+
diff --git a/obj/tools/MGtool/man.d/xdlook b/obj/tools/MGtool/man.d/xdlook
new file mode 100644
index 0000000..6f7772f
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdlook
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xdlook <object>
+
+DESCRIPTION
+      Same as look, but takes a deep look at the object.
+
diff --git a/obj/tools/MGtool/man.d/xdo b/obj/tools/MGtool/man.d/xdo
new file mode 100644
index 0000000..cefa5f1
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdo
@@ -0,0 +1,14 @@
+SYNOPSIS
+      xdo [<number1>#]<command1>[;[<number2>#]<command2>] ...
+
+DESCRIPTION
+      Perform multiple command execution.
+
+      Examples:
+      xdo 5#smile   (smile 5 times)
+
+      xdo l;i       (look around in the room and then in your inventory)
+
+      xdo s;9#w;3#n;kill shaman;get sword from corpse;3#s;9#e;n;...
+                    (you know this one :)
+
diff --git a/obj/tools/MGtool/man.d/xdupdate b/obj/tools/MGtool/man.d/xdupdate
new file mode 100644
index 0000000..b3752b9
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdupdate
@@ -0,0 +1,8 @@
+SYNOPSIS
+      xdupdate <filename>
+
+DESCRIPTION
+     Update an object including all its inherited objects.
+
+EXAMPLE
+     xdupdate /std/player.c
diff --git a/obj/tools/MGtool/man.d/xeval b/obj/tools/MGtool/man.d/xeval
new file mode 100644
index 0000000..f532bdf
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xeval
@@ -0,0 +1,18 @@
+SYNOPSIS
+      xeval <expression>
+
+DESCRIPTION
+      Execute an LPC expression. Inside the <expression>, "me" and "here" are
+      predefined objects (guess for what :). Here we can also use the function
+      "get()" to find an object using the object access syntax. If the
+      Expression returns an object the variable "$result" will be set to this.
+      xeval includes a private ~/.xtool.h, if it exists, to support user        
+      defined macros.
+
+
+EXAMPLES
+      Just do it!
+      xeval users()
+      xeval getuid(me)
+      xeval get("$me.xtool")
+
diff --git a/obj/tools/MGtool/man.d/xforall b/obj/tools/MGtool/man.d/xforall
new file mode 100644
index 0000000..17558f4
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xforall
@@ -0,0 +1,29 @@
+SYNOPSIS
+      xforall <filepattern> <command>
+
+DESCRIPTION
+      Execute <command> for all matching files. The <command> string can
+      contain replacment marks. Currently there are five of these marks:
+      - "!!" this mark stands for the full file name.
+      - "!e" stands for the extension of the file name.
+      - "!f" stands for the file name without extension and directory name.
+      - "!h" stands for the full directory name of the files.
+      - "!r" stands for the full file name without file extension.
+      - "!t" stands for the file name without the directory name.
+
+      If the full file name would be "/directory/file.ext" then
+      "!!" equals "/directory/file.ext"
+      "!e" equals "ext"
+      "!f" equals "file"
+      "!h" equals "/directory"
+      "!r" equals "/directory/file"
+      "!t" equals "file.ext"
+
+EXAMPLES
+      xforall ~/room/*.c xcall !r->reset();
+      Call the reset() function in all your rooms.
+
+      xforall ~/obj/* mv !! !h/oldobj/!f.!e.old
+      Move all files from your "obj" dir into the "obj/oldobj" dir and change
+      the extensions.
+
diff --git a/obj/tools/MGtool/man.d/xgoto b/obj/tools/MGtool/man.d/xgoto
new file mode 100644
index 0000000..df4ccba
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xgoto
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xgoto [object]
+
+DESCRIPTION
+      Go inside <object>. Without an argument you will leave into your
+      workroom. If <object> is a living thing, goto it's environment
+      (never tested until now, when going to a living thing, inside
+      a living thing :)
+
+EXAMPLES
+      xgoto /room/shop
+      xgoto shop	 (both are the same, because if there is no shop in
+			  the current directory, a "/room/" will be appended
+			  to the argument)
+      xgoto public enemy (do this only when you are really bored)
+
diff --git a/obj/tools/MGtool/man.d/xgrep b/obj/tools/MGtool/man.d/xgrep
new file mode 100644
index 0000000..8914fcb
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xgrep
@@ -0,0 +1,25 @@
+SYNOPSIS
+      xgrep [-iv] <regexp> <filepattern>
+        or
+      xgrep [-iv] <regexp>    (when reading from a pipe)
+
+DESCRIPTION
+      Search for the regular expression <regexp> in all files matching the
+      <filepattern>.
+      Works simular to the Unix command "grep". The reslut will be written
+      to <STDOUT> and may be piped into another command.
+
+OPTIONS
+      -v  reverts the sense of <regexp>.
+
+      -i  matches case-insensitive
+
+EXAMPLES
+      xgrep Deepthought /log/SHOUTS
+      This will search throught the shout log file for any line which has
+      the word "Deepthought" in it.
+
+      xgrep create\(\) *.c
+      This will search for all lines of all lpc code files in the current dir
+      which have the function "create()" defined.
+
diff --git a/obj/tools/MGtool/man.d/xhbeats b/obj/tools/MGtool/man.d/xhbeats
new file mode 100644
index 0000000..3a897f3
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xhbeats
@@ -0,0 +1,18 @@
+SYNOPSIS
+      xhbeats [search pattern]
+      or
+	  xhbeats     (when writing to a pipe)
+
+DESCRIPTION
+      With no argument it shows all your objects which have a running heart
+      beat. With a regexp as argument, all matching objects will be printed.
+	  When writing to a pipe, all hearbeats will be printed and a search
+	  pattern is not allowed.
+
+EXAMPLES
+      xhbeats obj   Show all objects which have a running heart beat at the
+                    object names with the string "obj" in it.
+      xhbeats .     Show all callouts. Please don't do this if it isn't
+                    really neccessary. It just costs time - and what do you
+                    want to do with this information?
+
diff --git a/obj/tools/MGtool/man.d/xhead b/obj/tools/MGtool/man.d/xhead
new file mode 100644
index 0000000..5801055
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xhead
@@ -0,0 +1,11 @@
+SYNOPSIS
+      xhead <-#> <file>
+	  or
+	  xhead <-#>    (when reading from a pipe)
+
+DESCRIPTION
+      xhead prints the first part of a given file; It reads from a pipe
+	  if no file is given.
+
+EXAMPLES
+      xhead -10 workroom.c prints the first 10 lines of the file workroom.c.
diff --git a/obj/tools/MGtool/man.d/xhelp b/obj/tools/MGtool/man.d/xhelp
new file mode 100644
index 0000000..b0aa7d4
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xhelp
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xhelp
+
+DESCRIPTION
+      Show the main help file.
+
diff --git a/obj/tools/MGtool/man.d/xids b/obj/tools/MGtool/man.d/xids
new file mode 100644
index 0000000..67ef761
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xids
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xids <object>
+
+DESCRIPTION
+      Show the user id and the effective user id of the <object>.
+
diff --git a/obj/tools/MGtool/man.d/xinherit b/obj/tools/MGtool/man.d/xinherit
new file mode 100644
index 0000000..ef02f3e
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xinherit
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xinherit <object> [function]
+
+DESCRIPTION
+      Show the inheritance tree of an object and if optional specified
+      display all occurencies of the function.
+      The inheritance tree is perhaps not the one you expect to see. In
+      fact its the one the gamedriver really uses. That means if for
+      example two object inherit each other or in any other case of recursion
+      it will not be shown. Or if an object A inherits object B and C
+      and object B also inherits object C, the object C will only displayed
+      once (because the gamedriver also inherits object once).
+
+EXAMPLE
+      xinherit $me
+
diff --git a/obj/tools/MGtool/man.d/xlag b/obj/tools/MGtool/man.d/xlag
new file mode 100644
index 0000000..fd28114
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xlag
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xlag
+
+DESCRIPTION
+      xlag displays the current system LAG by comparing the actual
+      processed heartbeats with the initial heartbeat rate (1/2s).
+      Values will we displayed for the last minute, the last 15 minutes
+      and the last hour.
+
+EXAMPLE
+      Letzte 60 min: ####### (7.2%)
+      Letzte 15 min: ######## (8.3%)
+      Letzte Minute: ######### (9.4%) 
+
+AVAILABILITY
+      xlag requires /players/kirk/obj/lag-o-daemon.c to be loaded.
diff --git a/obj/tools/MGtool/man.d/xload b/obj/tools/MGtool/man.d/xload
new file mode 100644
index 0000000..00db877
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xload
@@ -0,0 +1,15 @@
+SYNOPSIS
+      xload <filename>
+
+DESCRIPTION
+      Update and load the object specified by the filename. If you update
+      your current environment, all players will be moved silently into
+      "/std/void" and after successful updating and loading back into it.
+
+EXAMPLES
+      xload $here
+      Update and reload the current room (but without a trip into the void :).
+
+      xload obj/little_thing.c
+      Update and load it.
+
diff --git a/obj/tools/MGtool/man.d/xlook b/obj/tools/MGtool/man.d/xlook
new file mode 100644
index 0000000..259bc9e
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xlook
@@ -0,0 +1,7 @@
+SYNOPSIS
+      xlook [object]
+
+DESCRIPTION
+      Look at the object. If the argument is ommitted, look inside the
+      current room.
+
diff --git a/obj/tools/MGtool/man.d/xlpc b/obj/tools/MGtool/man.d/xlpc
new file mode 100644
index 0000000..8f471ed
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xlpc
@@ -0,0 +1,20 @@
+SYNOPSIS
+      xlpc <lpc code>
+
+DESCRIPTION
+      Execute pure LPC code. "me" and "here" are predefined objects. Also the
+      <properties.h> will be included. The function "get(string)" can be used
+      for accessing objects. If the execution returns an object the variable
+      "$result" will set to this object.
+
+EXAMPLES
+      xlpc int i;object *o;o=users();for(i=0;i<sizeof(o);i++)o[i]->
+           SetProp(P_FROG,1);
+      (Let all users be slimy frogs :)
+
+      xlpc int i;object *o;o=users();for(i=0;i<sizeof(o);i++)
+	   o[i]->SetProp(P_TITLE,get("$me")->QueryProp(P_TITLE));
+      (Give all users your prefered title. Take a look of the use of get().)
+
+      Both commands must be written in one line of course!
+
diff --git a/obj/tools/MGtool/man.d/xman b/obj/tools/MGtool/man.d/xman
new file mode 100644
index 0000000..9b56ad1
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xman
@@ -0,0 +1,17 @@
+SYNOPSIS
+      xman <topic>
+
+DESCRIPTION
+      Searches in some special directories under /doc for the given topic
+      or command. If there are two equal topics in different directories
+      the one found first will be printed.
+
+EXAMPLES
+      xman xman
+      xman xforall
+      xman efun/destruct
+      xman w/destruct
+      xman move
+      xman thing
+      xman domains
+
diff --git a/obj/tools/MGtool/man.d/xmore b/obj/tools/MGtool/man.d/xmore
new file mode 100644
index 0000000..bcd9250
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmore
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xmore <filename> [start]
+
+DESCRIPTION
+      Prints out a file and if a starting line is given, then the printing
+      will start there. On ansi or vt100 terminals the status line will be
+      overstroked to give a harmonic view of the file.
+
+EXAMPLES
+      xmore ~/workroom.c
+      xmore $here (this will show the source of the current room)
+
diff --git a/obj/tools/MGtool/man.d/xmove b/obj/tools/MGtool/man.d/xmove
new file mode 100644
index 0000000..b4c0aec
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmove
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xmove <object> into <object>
+
+DESCRIPTION
+      Moves one object into another or give the reason why the move failed.
+
+EXAMPLES
+      xmove $clone into $me
+      If you cloned an object with xclone but the object couldn't be moved
+      then this can be used to get the reason for it.
+
+      xmove hyp into ^wurzel  (this is a silent form of going to other players)
+
diff --git a/obj/tools/MGtool/man.d/xmsg b/obj/tools/MGtool/man.d/xmsg
new file mode 100644
index 0000000..175b780
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmsg
@@ -0,0 +1,11 @@
+SYNOPSIS
+      xmsg [to <object>|all]
+
+DESCRIPTION
+      Send a message. If no arguments are given the message will be send into
+      the room. If second argument is "to" then send the message to the
+      specified <object>. If second argument is "all" then send the message to
+      all players in the mud.
+      This command can be used to send text via cut&paste to someone without
+      putting a "say", "tell" or "shout" infront of each line.
+
diff --git a/obj/tools/MGtool/man.d/xmtp b/obj/tools/MGtool/man.d/xmtp
new file mode 100644
index 0000000..9d74a9c
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmtp
@@ -0,0 +1,24 @@
+SYNOPSIS
+      xmtp [options] <directory> <file>
+
+DESCRIPTION
+      Create a script file for transfering complete directories with mtp.
+      If your mtp needs extra arguments (except of the -r option which
+      stands for reading files) for example the -g option then you can add
+      then to the command.
+      This command works recursively and can cause a to deep recursion or
+      a too long evaluation error when trying to make a script for huge
+      directories like "/players" for example.
+      If the <file> allready exists it will not be removed instead the script
+      will simply added to the end of the file.
+
+EXAMPLE
+      xmtp -gtubmud /basic ~/basic.csh
+      Create a script file "basic.csh" to transfer the whole content of the
+      "/basic" directory.
+
+      On your host you then just create a directory (normally with the same
+      name give to the xmtp command), change into the directory and read
+      the script file with "mtp -r basic.csh". Then just execute the script
+      with "csh" or "sh".
+
diff --git a/obj/tools/MGtool/man.d/xproc b/obj/tools/MGtool/man.d/xproc
new file mode 100644
index 0000000..16d0aa1
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xproc
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xproc [-c] [-l] [-m] [-u] [-v]
+
+DESCRIPTION
+      xproc prints information from the /proc filesystem to the screen.
+      The format is totally unformatted! (I can't help it for now...) 
+      Without any option, it display the machines load averages.
+
+      -c: cpu information
+      -l: load averages
+      -m: memory usage
+      -u: machine's uptime
+      -v: kernel version
diff --git a/obj/tools/MGtool/man.d/xprops b/obj/tools/MGtool/man.d/xprops
new file mode 100644
index 0000000..f8f0dfe
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xprops
@@ -0,0 +1,15 @@
+SYNOPSIS
+      xprops [-f|-m] <object>
+
+DESCRIPTION
+      Prints out all properties of <object> which are currently defined
+      in /sys/properties.h.
+
+OPTIONS
+      -f  List property flags verbose
+
+      -m  List property methods
+
+EXAMPLE
+      xprops $me
+
diff --git a/obj/tools/MGtool/man.d/xscan b/obj/tools/MGtool/man.d/xscan
new file mode 100644
index 0000000..7f7b450
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xscan
@@ -0,0 +1,7 @@
+SYNOPSIS
+      xscan
+
+DESCRIPTION
+      Scan current room for netdead players and check variables.
+      (There will follow more checking routines like snoop, invis etc. :)
+
diff --git a/obj/tools/MGtool/man.d/xset b/obj/tools/MGtool/man.d/xset
new file mode 100644
index 0000000..cb7c66d
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xset
@@ -0,0 +1,15 @@
+SYNOPSIS
+      xset [$<name>=<object>]
+
+DESCRIPTION
+      Without an argument all current variable settings will be shown and
+      destructed objects removed from the list of variables.
+      With argument the specified variable will be set.
+
+EXAMPLES
+      xset $deep=deepthought
+      xset $xtool=$me.xtool
+      xset $god=$deep
+      xset $last_result=$result
+      xset $3=^$1.3
+
diff --git a/obj/tools/MGtool/man.d/xsh b/obj/tools/MGtool/man.d/xsh
new file mode 100644
index 0000000..1377992
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xsh
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xsh <filename>
+
+DESCRIPTION
+      Read in a file and execute each line of it as a command given from the
+      keyboard.
+
+EXAMPLE
+      xsh ~/setup.xsh
+      Execute the file "~/setup.xsh". This way you can set up your aliases or
+      other parameters for other tools if the setting gone lost.
+
diff --git a/obj/tools/MGtool/man.d/xsort b/obj/tools/MGtool/man.d/xsort
new file mode 100644
index 0000000..dfea2da
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xsort
@@ -0,0 +1,11 @@
+SYNOPSIS
+      xsort [-r] <file>
+	  or
+	  xsort [-r]    (when reading from a pipe)
+
+DESCRIPTION
+      xsort sort all lines of a given file in increasing/decreasing order.
+	  If no file is given it reads from a pipe.
+
+EXAMPLES
+      xsort -r workroom.c sorts all lines of workroom.c in reverse order.
diff --git a/obj/tools/MGtool/man.d/xtail b/obj/tools/MGtool/man.d/xtail
new file mode 100644
index 0000000..44c2300
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtail
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xtail <-|+#> <file>
+	  or
+	  xtail <-|+#>    (when reading from a pipe)
+
+DESCRIPTION
+      xtail prints the last part of a given file; It reads from a pipe
+	  if no file is given.
+
+EXAMPLES
+      xtail -10 workroom.c prints the last 10 lines of the file workroom.c.
+	  xtail +10 workroom.c prints all lines of workroom.c beginning at line 10.
diff --git a/obj/tools/MGtool/man.d/xtool b/obj/tools/MGtool/man.d/xtool
new file mode 100644
index 0000000..62d0614
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtool
@@ -0,0 +1,45 @@
+SYNOPSIS
+      xtool [update|heart=<on|off>|first=<on|off>|protect=<on|off>|
+	     invcheck=<on|off>|envcheck=<on|off>|ndcheck=<on|off>|
+	     varcheck=<on|off>|short=<on|off>|echo=<on|off>|
+	     more=<amount>|kill|news|save|load|reset]
+
+DESCRIPTION
+      This command is used to set some tool-specific behaviours.
+      - "update" clones a new Xtool and destructs the old one. This should
+        only be done when working on the source of the tool and to get a fast
+        update. Settings and aliases will be reached through the new clone.
+      - "heart=<on|off>" turns the heart beat of the tool on or off.
+        The heart beat is for a higher security and to keep the other checks
+        running. If you just want to use the Xtool as a passive tool without
+        any checks then turn the heart beat off.
+      - "first=<on|off>" turns the automatic moving into the pole position
+        of your inventory on or off. Turning it off, avoids struggle with
+        other tools which behave same, but also reduces security. The history
+        mechanism will also capture the less commands.
+      - "protect=<on|off>" turns on/off the protection mode of the Xtool.
+        It will protect you from forces of other wizards and of player objects
+        which try to move into your inventory.
+      - "invcheck=<on|off>" turns the automatic check of your inventory on or
+        off. If turned on, all new objects in your inventory will be reported.
+      - "envcheck=<on|off>" like "invcheck" but checks your environment, the
+        content of the current room.
+      - "ndcheck=<on|off>" sets the netdeadchecking mode of the Xtool.
+      - "short=<on|off>" turns displaying of short descriptions on or off.
+        This is to avoid to get on other wizards nerves, when they have a tool
+        that notifies inventory checks (like this tool does :). But the main
+        reason is to cope with bad short descriptions of objects. For
+        example if you want to destruct it a bug in the short desc. would
+        make it nearly impossible to do so.
+      - "more=<amount>" sets the amount of lines that will be displayed at one
+        time with the xmore command. Will be removed soon because there is a
+        player property called P_PAGESIZE to take care of it.
+      - "echo=<on|off>" turns the echoing of commands executed via alias,
+        history or multiple command execution on or off.
+      - "kill" destructs the Xtool and removes it from the autoload list.
+      - "news" show the news and changes of the Xtool.
+      - "save" saves the settings of the Xtool including the aliases into a
+        file.
+      - "load" restores the saved settings from the save file.
+      - "reset" resets the Xtool.
+
diff --git a/obj/tools/MGtool/man.d/xtrace b/obj/tools/MGtool/man.d/xtrace
new file mode 100644
index 0000000..1c05e94
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtrace
@@ -0,0 +1,14 @@
+SYNOPSIS
+      xtrace <object>
+
+DESCRIPTION
+      Trace all function calls with arguments and their return values of
+      the specified object. Without any argument turns the tracing off again.
+
+EXAMPLE
+      xtrace $me.buggything
+      Lets debug an buggy object.
+
+      xtrace
+      Turn debugging off.
+
diff --git a/obj/tools/MGtool/man.d/xtrans b/obj/tools/MGtool/man.d/xtrans
new file mode 100644
index 0000000..e356d0a
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtrans
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xtrans <player>
+
+DESCRIPTION
+      Teleport <player> to you.
+
diff --git a/obj/tools/MGtool/man.d/xuclone b/obj/tools/MGtool/man.d/xuclone
new file mode 100644
index 0000000..341c825
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xuclone
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xuclone <filename>
+
+DESCRIPTION
+      Updates & Clones an object. On error, the error log file will be
+      printed. Moves the object (if possible) into your inventory. If the
+      object has been cloned successfully, the variable "$clone" will be set,
+      to make sure we don't lose the object out of sight :)
+
+EXAMPLE
+      xuclone /std/thing
+      xcall $clone->SetShort("a BIG thing!");
+
diff --git a/obj/tools/MGtool/man.d/xupdate b/obj/tools/MGtool/man.d/xupdate
new file mode 100644
index 0000000..cab6567
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xupdate
@@ -0,0 +1,10 @@
+SYNOPSIS
+      xupdate <filename>
+
+DESCRIPTION
+     Update an object by first calling the lfun "remove()" of it and when
+     it still exists destruct it.
+
+EXAMPLE
+     xupdate obj/blub.c
+
diff --git a/obj/tools/MGtool/man.d/xwc b/obj/tools/MGtool/man.d/xwc
new file mode 100644
index 0000000..aa13147
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xwc
@@ -0,0 +1,22 @@
+SYNOPSIS
+      xwc [-clw] <file>
+	  or
+	  xwc [-clw]    (when reading from a pipe)
+
+DESCRIPTION
+      xwc counts the number of bytes, whitespace-separated words, and new-
+      lines in a given file, or reading from a pipe. It prints one line
+      of counts, and if the file name was given as an argument, it prints
+      the filename following the counts. The counts are printed in the
+      order: lines, words, bytes.
+      By default, wc prints all three counts.
+
+OPTIONS:
+      -c print character count
+
+      -l print line count
+
+      -w print word count
+      
+EXAMPLES
+
diff --git a/obj/tools/MGtool/man.d/xwho b/obj/tools/MGtool/man.d/xwho
new file mode 100644
index 0000000..1e9fbd6
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xwho
@@ -0,0 +1,17 @@
+SYNOPSIS
+      xwho [mail|ip|race|guild|domain|stats|cmdavg]
+
+DESCRIPTION
+      Without any argument this command behaves like the normal people
+      command. With the argument "mail" it will list all players with their
+      email address. With the argument "ip" it will list all players with
+      their host name and ip number. If the argument is "race" or "guild"
+      you will get a list of all players with these attributes. "domain"
+      will show the domain(s) of the current players. And with "stats" it
+      will print some stats information of all players.
+      The argument "cmdavg" list the value of _query_command_average()
+      for every user sorted in increasing order.
+
+EXAMPLES
+      xwho
+      xwho ip
