diff --git a/README.md b/README.md
index 3139159479d5064d0efd11ac791de683d085be70..40d4f63301dcabcaef6b5bc230bc5cbe26e8ea3f 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# eigenpsf-extractor
+# EigenPSFExtractor
 
-EigenPSFExtactor allows you to finely characterization of your optical system from images of isolated sources (fluorescent microbeads, guide stars, ...)
+EigenPSFExtactor allows you to finely characterize your optical system from images of isolated sources (fluorescent microbeads, guide stars, ...)
 It based on a set of accuracte routines to detect, register, process and average the diffracted sources images. 
 
 The plugin is rock solid for 2D images. 
-Beware: the treatment of 3D images is slow, because this version is based on Java only. Use it at your own risks.
+**Beware:** the treatment of 3D images is slow, because this version is based on Java only. Use it at your own risks.
 
 ## Citation
 
@@ -20,17 +20,72 @@ https://sites.imagej.net/XXX
 
 Once the site has been added, updating Fiji should cause it to download and install the plugin which can be found in "plugins"->"eigenpsf-extractor".
 
-## Visual examples
+## How  it works?
 
-![Drag Racing](doc/1_eigenpsf.png)
+### Step 1. Open Fiji
+### Step 2. Open *Plugins -> Eigen_PSF -> Eigen_PSF*
 
+![Step1](doc/1_eigenpsf.png)
+
+
+### Step 3. **Drag and drop the images** you want to open in the left pane. 
+
+![Step2](doc/2_dragimage.png)
+
+### Step 4. **Display the selected images** by clicking on the eye (show) in the left pane. 
+
+![Step3](doc/3_display.png)
+
+### Step 5. Click on the parameters button and set the parameters. In particular, pay attention to : 
+ - **Set 2D/3D option**.
+ - **Set the PSF width**. You can also do it by drawing a square around a PSF and by clicking on get_ROI.
+ - **Set the number of EigenPSFs** (this can be done afterwards as well).
+
+![Step4](doc/4_set_parameters.png)
+
+### Step 6. Click on *Detect beads*. This may take some time. When finished, you can click on the image pane, and ROI should appear around each detected microbead. 
+
+![Step5](doc/5_after_detection.png)
+
+### Step 7. The PSFs that are set as *valid* are displayed in green. Those in red are considered as *invalid* because, they are out of the distribution of observed beads. You can change the *valid*/*invalid* status by *ctrl + shift + click* or by clicking on the table at right. Note: the table contains the main beads properties. The lower the bead quality, the more likely it is for it to be a correct bead (i.e. no overlap with other beads, out of distribution features,...).
+
+### Step 8. Click on Preprocess Patches. This will do a fine PSF registration on the detected patches and remove the background. 
+
+![Step6](doc/5_after_detection.png)
+
+### Step 9. Click on Compute EigenPSF. You can also show them. You should get a result like the one below. Here we made a montage with 5 eigenPSFs extracted from the valid microbeads. 
+
+![Step7](doc/5_after_detection.png)
+
+### Step 10. Finally, you can display the processed PSFs after registration, background removal and projection on the eigenPSF basis. 
+
+![Step8](doc/6_eigenpsf_montage.png)
 
 ## Future releases
 
+The current code is based purely on Java. Unfortunately, some operations (convolutions with FFTs) are resource intensive. We plan to:
+1. Develop a Pytorch package. 
+2. Bind the current Java/Fiji interface with this code. 
+3. Develop a Napari plugin for a better Pytorch integration.
+
 ## Contributing
 
 If you want to contribute to this project, do not hesitate to contact the core developing team. 
 
-## License
+valentin.debarnot@gmail.com 
+
+emmanuel.soubies@irit.fr
+
+daniel.sage@epfl.ch
+
+pierre.weiss@cnrs.fr
+
+## References
+
+This work heavily relies on the following references. 
+
+V. Debarnot, P. Escande, T. Mangeat and P. Weiss, "Learning Low-Dimensional Models of Microscopes," in IEEE Transactions on Computational Imaging, vol. 7, pp. 178-190, 2021, doi: 10.1109/TCI.2020.3048295.
 
+Debarnot, V., & Weiss, P. (2023). Blind inverse problems with isolated spikes. Information and Inference: A Journal of the IMA, 12(1), 26-71.
 
+Bigot, J., Escande, P., & Weiss, P. (2019). Estimation of linear operators from scattered impulse responses. Applied and Computational Harmonic Analysis, 47(3), 730-758.
diff --git a/jar/linux/EigenPSF_Extractor-0.0.3.jar b/jar/linux/EigenPSF_Extractor-0.0.3.jar
index 7e266640617c475167ab597baf84a0b5c47cbb4c..c98677b64096579272e067404fcf4ee5f1a00a79 100644
Binary files a/jar/linux/EigenPSF_Extractor-0.0.3.jar and b/jar/linux/EigenPSF_Extractor-0.0.3.jar differ
diff --git a/src/src/eigenpsf/stack/PopupMenu.java b/src/src/eigenpsf/stack/PopupMenu.java
index 2289fd45ccd2820c0d7b20db3821bcd8cea905d2..2e2535f5ce5141837a52847346589aee88ba6b41 100644
--- a/src/src/eigenpsf/stack/PopupMenu.java
+++ b/src/src/eigenpsf/stack/PopupMenu.java
@@ -14,7 +14,7 @@ public class PopupMenu extends JPopupMenu implements ActionListener {
 	//private JMenuItem show = new JMenuItem("Show");
 
 	//private JMenuItem measure = new JMenuItem("Measure");
-	private JMenuItem unselect = new JMenuItem("Mark as unvalid");
+	private JMenuItem unselect = new JMenuItem("Mark as invalid");
 	private JMenuItem select = new JMenuItem("Mark as valid");
 	private Project project;
 	private PatchesTable table;