diff --git a/README.Salt b/README.Salt
index c1702ff..9d9292f 100644
--- a/README.Salt
+++ b/README.Salt
@@ -20,14 +20,18 @@
 
 /…/reclass refers to the location of your reclass checkout.
 
-  1. Symlink /…/reclass/adapters/ansible to /etc/ansible/hosts (or
-     ./hacking/hosts)
+  0. Run 'make' in the root of the reclass checkout (see the section
+     'Installation' in the README file for the reason).
+
+  1. Symlink /…/reclass/adapters/salt to /srv/salt/states/reclass. This is not
+     at all required, because Salt interfaces with reclass as a Python module,
+     but it's handy to have the inventory within reach.
 
   2. Copy the two directories 'nodes' and 'classes' from the example
-     subdirectory in the reclass checkout to /etc/ansible
+     subdirectory in the reclass checkout to /srv/salt/states
 
      If you prefer to put those directories elsewhere, you can create
-     /etc/ansible/reclass-config.yml with contents such as
+     /srv/salt/states/reclass-config.yml with contents such as
 
        storage_type: yaml_fs
        nodes_uri: /srv/reclass/nodes
@@ -36,133 +40,113 @@
      Note that yaml_fs is currently the only supported storage_type, and it's
      the default if you don't set it.
 
+     Again, this isn't really required, but it's good to get you started. If
+     you really put your inventory into /srv/reclass or /etc/reclass, you'll
+     tell the Salt master later.
+
   3. Check out your inventory by invoking
 
-       ./hosts --list
+       ./reclass --top
 
-     which should return 5 groups in JSON-format, and each group has exactly
-     one member 'localhost'.
+     which should return all the information about all defined nodes, which is
+     only 'localhost' in the example. This is essentially the same information
+     that you would keep in your top.sls file.
 
-  4. See the node information for 'localhost':
+  4. See the pillar information for 'localhost':
 
-       ./hosts --host localhost
+       ./reclass --pillar localhost
 
-     This should print a set of keys and values, including a greeting,
-     a colour, and a sub-class called 'RECLASS'.
+     This is the so-called pillar-data for the named host.
 
-  5. Execute some ansible commands, e.g.
+  5. Now add reclass to /etc/salt/master, like so:
 
-       ansible -i hosts \* --list-hosts
-       ansible -i hosts \* -m ping
-       ansible -i hosts \* -m debug -a 'msg="${greeting}"'
-       ansible -i hosts \* -m setup
-       ansible-playbook -i hosts test.yml
+     master_tops:
+       […]
+       reclass:
+         inventory_base_uri: /srv/salt
 
-  6. You can also invoke reclass directly, which gives a slightly different
-     view onto the same data, i.e. before it has been adapted for Ansible:
+     ext_pillar:
+       reclass:
+         inventory_base_uri: /srv/salt
+
+     Currently, there is no way to unify these configuration data, but it's
+     hardly much to duplicate. In the future, I may provide for a global
+     'reclass' key, but for now you will have to add the data twice.
+
+     Now restart your Salt master and make sure that reclass is in the
+     PYTHONPATH, so if it's not properly installed (but you are running it
+     from source), do this:
+
+       PYTHONPATH=/…/reclass /etc/init.d/salt-master restart
+
+  6. Provided that you have set up 'localhost' as a Salt minion, the following
+     commands should now return the same data as above, but processed through
+     salt:
+
+       salt localhost pillar.items     # shows just the parameters
+       salt localhost state.show_top   # shows only the states (applications)
+
+     Alternatively, if you don't have the Salt minion running yet:
+
+       salt-call pillar.items     # shows just the parameters
+       salt-call state.show_top   # shows only the states (applications)
+
+  7. You can also invoke reclass directly, which gives a slightly different
+     view onto the same data, i.e. before it has been adapted for Salt:
 
        /…/reclass.py --pretty-print --inventory
        /…/reclass.py --pretty-print --nodeinfo localhost
 
 Integration with Salt
 ~~~~~~~~~~~~~~~~~~~~~
-The integration between reclass and Ansible is performed through an adapter,
-and needs not be of our concern too much.
+reclass hooks into Salt at two different points: master_tops and ext_pillar.
+For both, Salt provides plugins. These plugins need to know where to find
+reclass, so if reclass is not properly installed (but you are running it
+from source), make sure to export PYTHONPATH accordingly before you start your
+Salt master.
 
-However, Ansible has no concept of "nodes", "applications", "parameters", and
-"classes". Therefore it is necessary to explain how those correspond to
-Ansible. Crudely, the following mapping exists:
+Salt has no concept of "nodes", "applications", "parameters", and "classes".
+Therefore it is necessary to explain how those correspond to Salt. Crudely,
+the following mapping exists:
 
   nodes         hosts
-  classes       groups
-  applications  playbooks
-  parameters    host_vars
+  classes       - [*]
+  applications  states
+  parameters    pillar
 
-reclass does not provide any group_vars because of its node-centric
-perspective. While class definitions include parameters, those are inherited
-by the node definitions and hence become node_vars.
+[*] See Salt issue #5787 for steps into the direction of letting reclass
+provide nodegroup information.
 
-reclass also does not provide playbooks, nor does it deal with any of the
-related Ansible concepts, i.e. vars_files, vars, tasks, handlers, roles, etc..
+Whatever applications you define for a node will become states applicable to
+a host. If those applications are added via ancestor classes, then that's
+fine, but currently, Salt does not do anything with the classes ancestry.
 
-  Let it be said at this point that you'll probably want to stop using
-  host_vars, group_vars and vars_files altogether, and if only because you
-  should no longer need them, but also because the variable precedence rules
-  of Ansible are full of surprises, at least to me.
+Similarly, all parameters that are collected and merged eventually end up in
+the pillar data of a specific node.
 
-reclass' Ansible adapter massage the reclass output into Ansible-usable data,
-namely:
+However, the pillar data of a node include all the information about classes
+and applications, so you can use them to target your Salt calls at groups of
+nodes defined in the reclass inventory, e.g.
 
-  - Every class in the ancestry of a node becomes a group to Ansible. This is
-    mainly useful to be able to target nodes during interactive use of
-    Ansible, e.g.
+  salt -I __reclass__:classes:salt_minion test.ping
 
-      ansible debiannode@wheezy -m command -a 'apt-get upgrade'
-        → upgrade all Debian nodes running wheezy
+Unfortunately, this does not work yet, please stay tuned, and let me know
+if you figure out a way. Salt issue #5787 is also of relevance.
 
-      ansible ssh.server -m command -a 'invoke-rc.d ssh restart'
-        → restart all SSH server processes
-
-      ansible mailserver -m command -a 'tail -n1000 /var/log/mail.err'
-        → obtain the last 1,000 lines of all mailserver error log files
-
-    The attentive reader might stumble over the use of singular words, whereas
-    it might make more sense to address all 'mailserver*s*' with this tool.
-    This is convention and up to you. I prefer to think of my node as
-    a (singular) mailserver when I add 'mailserver' to its parent classes.
-
-  - Every entry in the list of a host's applications might well correspond to
-    an Ansible playbook. Therefore, reclass creates a (Ansible-)group for
-    every application, and adds '_hosts' to the name. This postfix can be
-    configured with a CLI option (--applications-postfix) or in the
-    configuration file (applications_postfix).
-
-    For instance, the ssh.server class adds the ssh.server application to
-    a node's application list. Now the admin might create an Ansible playbook
-    like so:
-
-      - name: SSH server management
-        hosts: ssh.server_hosts              ← SEE HERE
-        tasks:
-          - name: install SSH package
-            action: …
-        …
-
-    There's a bit of redundancy in this, but unfortunately Ansible playbooks
-    hardcode the nodes to which a playbook applies.
-
-    It's now trivial to apply this playbook across your infrastructure:
-
-      ansible-playbook ssh.server.yml
-
-    My suggested way to use Ansible site-wide is then to create a 'site'
-    playbook that includes all the other playbooks (which shall hopefully be
-    based on Ansible roles), and then to invoke Ansible like this:
-
-      ansible-playbook site.yml
-
-    or, if you prefer only to reconfigure a subset of nodes, e.g. all
-    webservers:
-
-      ansible-playbook site.yml --limit webserver
-
-    Again, if the singular word 'webserver' puts you off, change the
-    convention as you wish.
-
-    And if anyone comes up with a way to directly connect groups in the
-    inventory with roles, thereby making it unnecessary to write playbook
-    files (containing redundant information), please tell me!
-
-  - Parameters corresponding to a node become host_vars for that host.
-
-It is possible to include Jinja2-style variables like you would in Ansible,
-in parameter values. This is especially powerful in combination with the
-recursive merging, e.g.
+It will also be possible to include Jinja2-style variables in parameter
+values. This is especially powerful in combination with the recursive merging,
+e.g.
 
   parameters:
     motd:
-      greeting: Welcome to {{ ansible_fqdn }}!
+      greeting: Welcome to {{ grains.fqdn }}!
       closing: This system is part of {{ realm }}
 
 Now you just need to specify realm somewhere. The reference can reside in
 a parent class, while the variable is defined e.g. in the node.
+
+This is also not yet working. The main reason is that the expansion cannot
+happen at the YAML-file level, because that would cast most types to strings.
+Instead, the interpolation needs to happen at the data structure level inside
+reclass, or maybe at the adapter level, reusing the templating of Salt. This
+will require some more thought, but it's on the horizon…
