diff --git a/README b/README
index e6ce121bad384578653ebeac5226355260a7629c..3b0d9de641520ad1c27e39bf5b0f89b5739f39e8 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 asdf: another system definition facility                 -*- Text -*-
 
-$Id: README,v 1.10 2002/02/12 12:46:54 dan_b Exp $
+$Id: README,v 1.11 2002/02/14 11:37:58 dan_b Exp $
 
 This system definition utility talks in terms of 'components' and
 'operations'.
@@ -214,18 +214,33 @@ defined to accept.
 
 ** standard operations
 
-*** compile-op &key proclamations
+*** compile-op, load-op
 
-The definition of `compile' is "do everything that we can do to make
-subsequent loads (in a new image that we didn't do the compile in)"
-faster.  
+When creating a new component, you should provide methods for these.  
+As a user, you almost never want to use them, though.  See below.
+
+*** compile-and-load-op &key proclamations
+
+This is roughly equivalent to the mk-defsystem 'compile' operation.
+Compiling a system usually involves loading each component after it is
+compiled - we've changed the name of this operation to make it more
+explicit what is happening
 
 If proclamations are supplied, they will be proclaimed.  This is a
 good place to specify optimization settings
 
-*** load-op
+You probably don't need to create this method if you are creating a new
+component type.  The default method for this operation on source-files
+calls compile-op and load-op
+
+*** load-source-op
+
+Sometimes systems have knotty dependencies which require that sources
+are loaded before they can be compiled.  This is how you do that.
+
+If you are creating a component type, you need to implement this
+operation - at least, where meaningful.
 
-This is the `do everything' operation.  It depends on compile-op.
 
 *** test-system-version &key minimum
 
@@ -388,10 +403,10 @@ has the effect of
 
 where ... is the component in question; note that while :before
 methods are also supported by this, they may not do what you want them
-do (a :before method on perform ((op compile-op) (c (eql ...)))
+to -  a :before method on perform ((op compile-op) (c (eql ...)))
 will run after all the dependencies and sub-components have been
 processed, but before the component in question has been
-compiled).
+compiled.
 
 *** Source location
 
@@ -456,13 +471,25 @@ partition:partition symbol
 
 Need an explicit error for "dependency missing" and "required version
 of dependency missing" so that we can fit this to an automated
-dependency downloading thing
+dependency downloading thing.  
 
 * missing bits in implementation
 ** all of the above
 ** reuse the same scratch package whenever a system is reloaded from disk
 ** defsystem syntax for EQL methods
+
+How the hell  Cop out and use EVAL?
+
 ** versions
 ** test suite, insofar as it makes sense
 ** compiler/loader options
  verbosity, proclamations, etc: do this with specials
+
+(defvar *visited-nodes* nil)
+(defvar *visiting-nodes* nil)
+
+rewrite the component-visiting stuff to hide this state in the
+operation 
+
+
+** pathname defaulting in defsystem