diff --git a/notes/atlas.md b/notes/atlas.md
index b34d5205468a7ef2094035366519aed62aa8c49d..7c57ebb9a92ca66e514057dea33372dbca57194d 100644
--- a/notes/atlas.md
+++ b/notes/atlas.md
@@ -12,27 +12,56 @@ EPaxos but......faster.
 ## Protocol
 ![protocol](atlasProtocol.png)
 
-## Fast Path Optimization
 
-Statement:
+### Slow Path
+size is only *f+1*!
 
-**deps returned do not have to agree if each reported is reported by at least *f* respondents**.
-
-For example, we can recover *D* at *f=2* after just fast path even w/ two failures:
-1. One failure leaves at least one replica that reported the dep, so it will be seen afterwards. This takes us to *f-1*.
-1. The other failure must be the coordinator, as no need to recover if coordinator doesn't go down. The coordinator appends any deps it knows initially to messages in the collect phase. Therefore, if the coordinator was one of the *f* that reported a specific dependency, the other particplants of the collect phase will know about it. This takes us to *f-2*.
+## Recovery
 
+Background:
 
-## Examples
+   *U<sub>Q</sub>dep = U(f)<sub>Q</sub>dep*        (line 15 in protocol)
 
 ![protocol](atlasFig2.png)
 
-How to distinguish 2a from this if (1) and (4) die?
+
+Easy to see that recovery of fast path dep proposal can be recovered
+after coordinator and one other die, but how to tell whether the fast
+path was to be taken?
+
+How to distinguish 2a from this version:
+- "2" didn't report "c", so we should not take fast path
+- assume (1) and (4) die
 ![noC](atlasNoC.png)
 
+Come back to this.
 
-## Recovery
-![recovery](atlasRecovery.png)
+
+
+## Recovery, continued
+Recovery quorum bigger (*n-f*, including sender) to compensate for smaller Consensus quorum (*f+1*)
+
+**Property 2:** *Any fast-path proposal can be obtained by taking the union of the dependencies sent in MCOLLECTAck by at least* **floor(n/2)** *fast-quorum processes that are not the iniital coordinator*.
+
+### How to recover *D* at *f=2* after just fast path w/ two failures?
+
+1. One failure leaves at least one replica that reported the dep, so it will be seen afterwards. 
+1. If the other failure is the coordinator, we can recover because coordinator appends any deps it knows to MCOLLECT messages. Therefore, if the coordinator was one of the *f* that reported a specific dependency, the other particplants of the collect phase will know about it.
+1. Analogous for other *f*.
+
+Recovery states:
+- at least one non-failed replica has a commit: sends to all others
+- none 
+
+### What if the two failures
+
+
+*The initial coordinator of a command can avoid consensus when it can ensure that any process performing recovery will propose the same set of dependencies to consensus.* 
+
+![recovery](atlasRecovery.png?1)
+
+### When do they die?
+- if coordinator dies after sending a commit that is received elsewhere
 
 
 ## Issues
diff --git a/notes/atlasNoC.png b/notes/atlasNoC.png
index ff1bdb3de7cda4a126ee53fc61adfc0ba1d5d9ea..aec9d957a1089a658d73b4457d2060199ab8f218 100644
Binary files a/notes/atlasNoC.png and b/notes/atlasNoC.png differ
diff --git a/notes/atlasProtocol.png b/notes/atlasProtocol.png
index 96aae66cd66ebbc4701f37082aa72c4e46d7cecd..5fd6abb807e1c9c57e45c84c84e6314d4db6d240 100644
Binary files a/notes/atlasProtocol.png and b/notes/atlasProtocol.png differ
diff --git a/notes/atlasRecovery.png b/notes/atlasRecovery.png
index 3130c6db73911106dc15b571b151199dbe109f1b..2d188a180c1ed222977283c73cb5c51eb14eaa35 100644
Binary files a/notes/atlasRecovery.png and b/notes/atlasRecovery.png differ