diff --git a/doc/wiz/lupe b/doc/wiz/lupe
new file mode 100644
index 0000000..28e23fe
--- /dev/null
+++ b/doc/wiz/lupe
@@ -0,0 +1,209 @@
+ALLGEMEINES:
+	Die Lupe benutzt einen Stapel (Stack), um Objekte zu bearbeiten.
+	Einige Befehle schieben Objekte auf den Stapel, andere wiederum
+	holen sie wieder vom Stapel herunter und benutzen sie fuer die
+	verschiedensten Zwecke.
+	Man kann in einer Zeile mehrere Kommandos gleichzeitig angeben
+	(durch Leerzeichen getrennt).
+	Eine Zeile wird immer von links nach rechts abgearbeitet.
+
+SCHREIBWEISEN:
+	<arg>	- Eine Reihe von Zeichen, die weder Leerzeichen noch Punkte
+		  (.) enthaelt. Falls doch Leerzeichen oder Punkte in <arg>
+		  auftauchen, muss man die Zeichenkette zwischen "...",
+		  '...' oder |...| einschliessen.
+	<nr>	- Eine (positive oder negative) ganze Zahl.
+	<filename> - Ein Dateiname. Fuer ihn gilt das Gleiche wie fuer <arg>:
+		  Wenn er Punkte enthaelt, muss man ihn zwischen "...",
+		  '...' oder |...| einschliessen.
+		  Es sind alle Variationen moeglich, die man auch aus der
+		  Magiershell kennt: absolute Dateinamen (beginnen mit "/"),
+		  Dateinamen relativ zum eigenen Homeverzeichnis ("~/")
+		  oder zum Homeverzeichnis eines anderen Magiers ("~name/"),
+		  Dateinamen in einer Region ("+region/") und Dateinamen
+		  relativ zum aktuellen Verzeichnis (alles andere ;).
+	<func>	- Name einer LPC-Funktion.
+	TOS	- Das Objekt ganz oben auf dem Stapel (Top Of Stack).
+
+DER STAPEL:
+	Bei dem Stapel handelt es sich um einen LIFO-Stapel (Last In - First
+	Out), d.h. das Objekt, das zuletzt auf den Stapel geschoben wurde,
+	wird als erstes bearbeitet.
+	Bei der Bearbeitung wird der TOS in der Regel vom Stapel entfernt
+	(Ausnahmen: =, stk und #), der Stapel wird also im Laufe der Zeit
+	wieder kleiner.
+	Der Stapel kann maximal zehn Elemente aufnehmen. Dieses Limit wird
+	man bei "normalem Betrieb" allerdings selten erreichen.
+	Sollte es trotzdem einmal eng werden, stehen einem noch zehn
+	Variablen zur Verfuegung, in denen man zusaetzlich Objekte (vom
+	Stapel) ablegen kann.
+
+BEFEHLE:
+	Es gibt drei unterschiedliche Befehlsgruppen:
+	a) Befehle, die ein Objekt auf den Stapel schieben;
+	b) Befehle, die mit Objekten auf dem Stapel arbeiten;
+	c) Befehle, die ohne den Stapel auskommen.
+	Einige Befehle setzen voraus, das der TOS ein Lebewesen oder gar ein
+	Spielerobjekt ist; andere Befehle sind erst ab einem bestimmten
+	Magierlevel zugaenglich. Dies ist bei den entsprechenden Befehlen
+	jeweils vermerkt.
+
+    Diese Befehle schieben ein neues Objekt auf den Stapel:
+	creat <filename> Macht das Gleiche wie 'new', das Objekt wird aller-
+			dings nicht in Dein Inventory gesteckt.
+	here		Das Objekt, in dem man gerade steht, auf den Stapel
+			schieben.
+	lv <arg>	Schiebt das Lebewesen mit dem living_name <arg> auf
+			den Stapel. ACHTUNG! Das muss dann nicht unbedingt
+			das Lebewesen sein, das man dort eigentlich haben
+			will! Es wird einfach das erste Objekt genommen,
+			dessen living_name passt! Wenn man etwas mit einem
+			NPC vorhat, der im gleichen Raum steht, spricht man
+			ihn besser mit here.name an.
+	me		Sich selbst auf den Stapel schieben.
+	new <filename>	Cloned das mit <filename> angegebene Objekt und
+			schiebt es auf den Stapel. Anschliessend befindet es
+			sich in Deinem Inventory.
+	ob <filename>	Laedt das Objekt, das mit <filename> angegeben ist,
+			und schiebt es auf den Stapel.
+	pl <arg>	Schiebt das Spielerobjekt mit dem Namen <arg> auf den
+			Stapel.
+			Es werden auch netztote Spieler berucksichtigt.
+	push <filename> Schiebt das Objekt, das mit <filename> angegeben ist,
+			auf den Stapel.
+	<filename>	Macht das gleiche wie 'ob', falls <filename> mit "/"
+			oder "~" beginnt.
+
+    Die naechsten Befehle schalten Optionen der Lupe an/aus/um:
+	desc		Die zusaetzliche Angabe der Kurzbeschreibung des
+			aktuellen Objektes wird unterdrueckt.
+	rec		Schaltet in den "rekursiv"-Modus um. Dieser Modus
+			wird von folgenden Befehlen genutzt:
+			'inv', 'cln' und 'clnof'
+			Nach Ausfuehrung eines dieser Befehle wird der
+			"rekursiv"-Modus automatisch wieder abgestellt.
+	norec		Stellt den "rekursiv"-Modus "von Hand" ab.
+
+    Diese Befehle schieben ebenfalls ein neues Objekt auf den Stapel. Sie
+    arbeiten dabei allerdings relativ zum TOS. Man muss also schon mindestens
+    ein Objekt auf den Stapel geschoben haben. Der alte TOS wird dabei in der
+    Regel entfernt.
+	.<nr>		Schiebt das <nr>te Objekt im Inventory des TOS auf den
+			Stapel.
+	.<arg>		Schiebt das Objekt mit der ID <arg> im Inventory des
+			TOS auf den Stapel.
+	<<nr>		Schiebt die Variable <nr> auf den Stapel. Als <nr>
+			sind Werte zwischen 0 und 9 moeglich.
+	@<nr>		Schiebt das <nr>te Objekt von oben noch einmal auf den
+			Stapel. Der alte TOS hat die Nummer 0. Weder der alte
+			TOS noch das verschobene Objekt werden vom Stapel ent-
+			fernt.
+			@1 ist analog zu 'over'.
+	copy		Legt eine Kopie des TOS an (inkl. aller Propertywerte)
+			und schiebt diese Kopie auf den Stapel. Die Kopie
+			befindet sich danach in Deinem Inventory.
+	dup		Schiebt den TOS doppelt auf den Stapel.
+	env		Schiebt das Objekt, in dem sich der TOS befindet, auf
+			den Stapel.
+	over		Schiebt das Objekt, das sich unter dem TOS befindet,
+			nochmal auf den Stapel. Dabei werden weder der alte
+			TOS noch das Objekt unter ihm entfernt.
+	result		Wenn in einem Objekt eine Funktion aufgerufen wurde,
+			und diese Funktion wieder ein Objekt zurueckgegeben
+			hat, so wird dieses Objekt auf den Stapel geschoben.
+	swap		Tauscht TOS und das darunter liegende Element gegen-
+			einander aus.
+
+    Die naechsten Befehle arbeiten mit den auf dem Stapel liegenden Objekten.
+    Dabei werden die bearbeiteten Objekte in der Regel vom Stapel entfernt.
+	><nr>		Speichert den TOS in der Variablen <nr>. Als <nr>
+			sind Werte zwischen 0 und 9 moeglich.
+	=		Zeigt den TOS. Dieser bleibt dabei unveraendert.
+	#		Der Stack bleibt ueber das naechste Kommando hinaus
+			erhalten.
+	inv		Zeigt das Inventory des TOS. Der TOS bleibt dabei
+			unveraendert.
+	cln		Entfernt alle Objekte aus dem Inventory des TOS. Es
+			werden allerdings keine Spieler entfernt.
+	clnof <arg>	Entfernt alle Objekte, die auf die ID <arg> anspre-
+			chen, aus dem Inventar des TOS.
+	clr		Loescht den gesamten Stack.
+	Dest		Der TOS wird zerstoert. Das geht allerdings NICHT,
+			wenn der TOS ein Spielerobjekt oder die Lupe selbst
+			ist.
+	dest		Wie Dest, allerdings wird zuerst TOS->remove() auf-
+			gerufen, um dem TOS die Moeglichkeit zu geben, noch
+			hinter sich aufzuraeumen.
+	dinfo		Gibt einige GameDriver-interne Informationen wie zB.
+			die Zeit des naechsten reset()-Aufrufs oder die an-
+			gesammelte evalcost des TOS aus.
+	disco		Unterbricht die Verbindug des TOS (muss ein aktiver
+			Spieler sein) zum MG (disconnect).
+	hl		Zeigt die Historyliste des TOS an (hierbei muss es
+			sich um einen Spieler handeln).
+			Dieser Befehl steht ab ELDER_LVL (50) zur Verfuegung.
+			!!!Fuer die Benutzung gilt das Gleiche wie fuer das
+			Snoopen!!!
+	idle		Gibt an, wie lange der TOS schon idlet. (Der TOS
+			sollte dabei natuerlich ein Spieler sein).
+	info		Gibt einige Informationen ueber den TOS aus.
+	inherit_list	Gibt den Vererbungsbaum des TOS aus (allerdings nicht
+			sehr baumfoermig ;)
+	inv		Zeigt das Inventory des TOS an.
+
+	make		Fuehrt ein Update des TOS durch. Geht nicht bei
+			Spielern! Dafuer gibt es renew.
+	minfo		Gibt einige Informationen ueber den Speicherverbrauch
+			des TOS aus.
+	move, mov, mo	Das Objekt, das unter dem TOS steht, wird in den TOS
+			gemoved. Beide Objekte werden dabei vom Stapel ent-
+			fernt.
+	_move, _mov, _mo, _mv
+			Das Objekt, das unter dem TOS steht, wird in den TOS
+			gemoved, ohne dass dort init() aufgerufen wird. Beide
+			Objekte werden dabei vom Stapel entfernt.
+			Dieser Befehl steht ab ARCH_LVL (60) zur Verfuegung.
+	pop		Entfernt den TOS.
+	renew		Aehnlich wie 'make', der TOS muss allerdings ein
+			Spieler sein. ACHTUNG! Man sollte nicht "einfach so"
+			Spieler 'renew'en, sondern nur dann, wenn es wirklich
+			gerechtfertigt ist!
+	scan, sc	Kombiniert 'stat' und finger. Der TOS muss ein Lebe-
+			wesen sein.
+	stat		Gibt Informationen ueber Zustand, Ausruestung, ge-
+			loeste Quests etc. des TOS aus. Der TOS muss dabei
+			ein Lebewesen sein.
+	stk		Zeigt den gesamten Stack. Dieser bleibt dabei unver-
+			aendert.
+	[<func>]	Ruft im TOS die Funktion <func> ohne Parameter auf.
+			Falls diese Funktion ein Objekt zurueckgibt, kann man
+			dieses anschliessend mit result auf den Stapel
+			schieben.
+	[<func> <arg1> ... <argn>]
+			Ruft im TOS die Funktion <func> mit den Parametern
+			<arg1> bis <argn> auf. Die Parameter sind mit Leer-
+			zeichen zu trennen. Enthalten die Parameter selbst
+			Leerzeichen, so sind sie in "...", '...' oder |...|
+			einzuschliessen.
+			Mittels @<nr> kann man auch Objekte, die sich auf dem
+			Stapel befinden, als Argumente angeben.
+
+    Die folgenden Befehle kommen ohne Objekte auf dem Stack aus:
+	call_out	Gibt eine Liste aller Objekte mit einem laufenden
+			call_out aus.
+	dump		Schreibt die Listen aller Objekte mit aktivem
+			heart_beat und aller Objekte mit laufendem call_out
+			in die Datai LISTS.LUPE in Dein Homeverzeichnis.
+	dumphists	Schreibt die Befehlshistory aller momentan einge-
+			loggten Spieler nach /log/ARCH/HD.
+			Dieser Befehl steht erst ab ARCH_LVL (60) zur
+			Verfuegung.
+	heart_beat	Gibt eine Liste aller Objekte mit aktivem heart_beat
+			aus.
+	rusage		Zeigt einige Infos ueber den Ressourcenge-/-verbrauch
+			des Muds an.
+	swho		Zeigt (so gut wie) alle aktiven Snoops.
+	vars		Zeigt die belegten Variablen an.
+
+----------------------------------------------------------------------------
+Last modified: Wed Jun 26 14:49:02 1996 by Wargon
\ No newline at end of file
