diff --git a/jar/EigenPSF_Extractor-0.0.3.jar b/jar/linux/EigenPSF_Extractor-0.0.3.jar
similarity index 98%
rename from jar/EigenPSF_Extractor-0.0.3.jar
rename to jar/linux/EigenPSF_Extractor-0.0.3.jar
index 2e4004d81f0bed41dfb0bb7e6764c980478f2a5d..7e266640617c475167ab597baf84a0b5c47cbb4c 100644
Binary files a/jar/EigenPSF_Extractor-0.0.3.jar and b/jar/linux/EigenPSF_Extractor-0.0.3.jar differ
diff --git a/java code/build.xml b/src/build.xml
similarity index 100%
rename from java code/build.xml
rename to src/build.xml
diff --git a/java code/eigenpsf.epf b/src/eigenpsf.epf
similarity index 100%
rename from java code/eigenpsf.epf
rename to src/eigenpsf.epf
diff --git a/java code/lib/JTransforms-3.1-with-dependencies.jar b/src/lib/JTransforms-3.1-with-dependencies.jar
similarity index 100%
rename from java code/lib/JTransforms-3.1-with-dependencies.jar
rename to src/lib/JTransforms-3.1-with-dependencies.jar
diff --git a/java code/lib/bilib-commons.jar b/src/lib/bilib-commons.jar
similarity index 100%
rename from java code/lib/bilib-commons.jar
rename to src/lib/bilib-commons.jar
diff --git a/java code/lib/ij.jar b/src/lib/ij.jar
similarity index 100%
rename from java code/lib/ij.jar
rename to src/lib/ij.jar
diff --git a/java code/lib/jblas-1.2.5.jar b/src/lib/jblas-1.2.5.jar
similarity index 100%
rename from java code/lib/jblas-1.2.5.jar
rename to src/lib/jblas-1.2.5.jar
diff --git a/java code/listfiles.csv b/src/listfiles.csv
similarity index 100%
rename from java code/listfiles.csv
rename to src/listfiles.csv
diff --git a/java code/plugins.config b/src/plugins.config
similarity index 100%
rename from java code/plugins.config
rename to src/plugins.config
diff --git a/java code/src/EigenPSF_Manager.java b/src/src/EigenPSF_Manager.java
similarity index 100%
rename from java code/src/EigenPSF_Manager.java
rename to src/src/EigenPSF_Manager.java
diff --git a/java code/src/JBlasExample_CG.java b/src/src/JBlasExample_CG.java
similarity index 100%
rename from java code/src/JBlasExample_CG.java
rename to src/src/JBlasExample_CG.java
diff --git a/java code/src/Manual_PSF.java b/src/src/Manual_PSF.java
similarity index 100%
rename from java code/src/Manual_PSF.java
rename to src/src/Manual_PSF.java
diff --git a/java code/src/RefineCodeCpp/EigenPSF_Refine.cpp b/src/src/RefineCodeCpp/EigenPSF_Refine.cpp
similarity index 100%
rename from java code/src/RefineCodeCpp/EigenPSF_Refine.cpp
rename to src/src/RefineCodeCpp/EigenPSF_Refine.cpp
diff --git a/java code/src/RefineCodeCpp/eigenpsf_processing_CInterface.h b/src/src/RefineCodeCpp/eigenpsf_processing_CInterface.h
similarity index 100%
rename from java code/src/RefineCodeCpp/eigenpsf_processing_CInterface.h
rename to src/src/RefineCodeCpp/eigenpsf_processing_CInterface.h
diff --git a/java code/src/RefineCodeCpp/libEigenPSF_Refine.dylib b/src/src/RefineCodeCpp/libEigenPSF_Refine.dylib
similarity index 100%
rename from java code/src/RefineCodeCpp/libEigenPSF_Refine.dylib
rename to src/src/RefineCodeCpp/libEigenPSF_Refine.dylib
diff --git a/java code/src/RefineCodeCpp/libEigenPSF_Refine.so b/src/src/RefineCodeCpp/libEigenPSF_Refine.so
similarity index 100%
rename from java code/src/RefineCodeCpp/libEigenPSF_Refine.so
rename to src/src/RefineCodeCpp/libEigenPSF_Refine.so
diff --git a/java code/src/Simulator_Field_Beads.java b/src/src/Simulator_Field_Beads.java
similarity index 100%
rename from java code/src/Simulator_Field_Beads.java
rename to src/src/Simulator_Field_Beads.java
diff --git a/java code/src/Unit_Tests.java b/src/src/Unit_Tests.java
similarity index 100%
rename from java code/src/Unit_Tests.java
rename to src/src/Unit_Tests.java
diff --git a/java code/src/eigenpsf/AdvancedSettingsPanel.java b/src/src/eigenpsf/AdvancedSettingsPanel.java
similarity index 100%
rename from java code/src/eigenpsf/AdvancedSettingsPanel.java
rename to src/src/eigenpsf/AdvancedSettingsPanel.java
diff --git a/java code/src/eigenpsf/Constants.java b/src/src/eigenpsf/Constants.java
similarity index 100%
rename from java code/src/eigenpsf/Constants.java
rename to src/src/eigenpsf/Constants.java
diff --git a/java code/src/eigenpsf/Log.java b/src/src/eigenpsf/Log.java
similarity index 100%
rename from java code/src/eigenpsf/Log.java
rename to src/src/eigenpsf/Log.java
diff --git a/java code/src/eigenpsf/LogScheduler.java b/src/src/eigenpsf/LogScheduler.java
similarity index 100%
rename from java code/src/eigenpsf/LogScheduler.java
rename to src/src/eigenpsf/LogScheduler.java
diff --git a/java code/src/eigenpsf/MaskDialog.java b/src/src/eigenpsf/MaskDialog.java
similarity index 100%
rename from java code/src/eigenpsf/MaskDialog.java
rename to src/src/eigenpsf/MaskDialog.java
diff --git a/java code/src/eigenpsf/Params.java b/src/src/eigenpsf/Params.java
similarity index 100%
rename from java code/src/eigenpsf/Params.java
rename to src/src/eigenpsf/Params.java
diff --git a/java code/src/eigenpsf/SettingsDialog.java b/src/src/eigenpsf/SettingsDialog.java
similarity index 100%
rename from java code/src/eigenpsf/SettingsDialog.java
rename to src/src/eigenpsf/SettingsDialog.java
diff --git a/java code/src/eigenpsf/data/Convolution.java b/src/src/eigenpsf/data/Convolution.java
similarity index 100%
rename from java code/src/eigenpsf/data/Convolution.java
rename to src/src/eigenpsf/data/Convolution.java
diff --git a/java code/src/eigenpsf/data/Dict.java b/src/src/eigenpsf/data/Dict.java
similarity index 100%
rename from java code/src/eigenpsf/data/Dict.java
rename to src/src/eigenpsf/data/Dict.java
diff --git a/java code/src/eigenpsf/data/EigenElements.java b/src/src/eigenpsf/data/EigenElements.java
similarity index 100%
rename from java code/src/eigenpsf/data/EigenElements.java
rename to src/src/eigenpsf/data/EigenElements.java
diff --git a/java code/src/eigenpsf/data/HyperMatrix.java b/src/src/eigenpsf/data/HyperMatrix.java
similarity index 100%
rename from java code/src/eigenpsf/data/HyperMatrix.java
rename to src/src/eigenpsf/data/HyperMatrix.java
diff --git a/java code/src/eigenpsf/display/ColorName.java b/src/src/eigenpsf/display/ColorName.java
similarity index 100%
rename from java code/src/eigenpsf/display/ColorName.java
rename to src/src/eigenpsf/display/ColorName.java
diff --git a/java code/src/eigenpsf/display/Display.java b/src/src/eigenpsf/display/Display.java
similarity index 100%
rename from java code/src/eigenpsf/display/Display.java
rename to src/src/eigenpsf/display/Display.java
diff --git a/java code/src/eigenpsf/display/DisplayDialog.java b/src/src/eigenpsf/display/DisplayDialog.java
similarity index 100%
rename from java code/src/eigenpsf/display/DisplayDialog.java
rename to src/src/eigenpsf/display/DisplayDialog.java
diff --git a/java code/src/eigenpsf/display/DisplayElement.java b/src/src/eigenpsf/display/DisplayElement.java
similarity index 100%
rename from java code/src/eigenpsf/display/DisplayElement.java
rename to src/src/eigenpsf/display/DisplayElement.java
diff --git a/java code/src/eigenpsf/display/ProgressStatusBar.java b/src/src/eigenpsf/display/ProgressStatusBar.java
similarity index 100%
rename from java code/src/eigenpsf/display/ProgressStatusBar.java
rename to src/src/eigenpsf/display/ProgressStatusBar.java
diff --git a/java code/src/eigenpsf/filemanager/IO.java b/src/src/eigenpsf/filemanager/IO.java
similarity index 100%
rename from java code/src/eigenpsf/filemanager/IO.java
rename to src/src/eigenpsf/filemanager/IO.java
diff --git a/java code/src/eigenpsf/gui/ButtonIcon.java b/src/src/eigenpsf/gui/ButtonIcon.java
similarity index 100%
rename from java code/src/eigenpsf/gui/ButtonIcon.java
rename to src/src/eigenpsf/gui/ButtonIcon.java
diff --git a/java code/src/eigenpsf/gui/SpinnerInfoRangeDouble.java b/src/src/eigenpsf/gui/SpinnerInfoRangeDouble.java
similarity index 100%
rename from java code/src/eigenpsf/gui/SpinnerInfoRangeDouble.java
rename to src/src/eigenpsf/gui/SpinnerInfoRangeDouble.java
diff --git a/java code/src/eigenpsf/gui/SpinnerInfoRangeInteger.java b/src/src/eigenpsf/gui/SpinnerInfoRangeInteger.java
similarity index 100%
rename from java code/src/eigenpsf/gui/SpinnerInfoRangeInteger.java
rename to src/src/eigenpsf/gui/SpinnerInfoRangeInteger.java
diff --git a/java code/src/eigenpsf/gui/WalkBar.java b/src/src/eigenpsf/gui/WalkBar.java
similarity index 100%
rename from java code/src/eigenpsf/gui/WalkBar.java
rename to src/src/eigenpsf/gui/WalkBar.java
diff --git a/java code/src/eigenpsf/lib/Loader.java b/src/src/eigenpsf/lib/Loader.java
similarity index 100%
rename from java code/src/eigenpsf/lib/Loader.java
rename to src/src/eigenpsf/lib/Loader.java
diff --git a/java code/src/eigenpsf/processing/AbstractBackground.java b/src/src/eigenpsf/processing/AbstractBackground.java
similarity index 100%
rename from java code/src/eigenpsf/processing/AbstractBackground.java
rename to src/src/eigenpsf/processing/AbstractBackground.java
diff --git a/java code/src/eigenpsf/processing/AbstractDetection.java b/src/src/eigenpsf/processing/AbstractDetection.java
similarity index 100%
rename from java code/src/eigenpsf/processing/AbstractDetection.java
rename to src/src/eigenpsf/processing/AbstractDetection.java
diff --git a/java code/src/eigenpsf/processing/AbstractRegistration.java b/src/src/eigenpsf/processing/AbstractRegistration.java
similarity index 100%
rename from java code/src/eigenpsf/processing/AbstractRegistration.java
rename to src/src/eigenpsf/processing/AbstractRegistration.java
diff --git a/java code/src/eigenpsf/processing/CInterface.class b/src/src/eigenpsf/processing/CInterface.class
similarity index 100%
rename from java code/src/eigenpsf/processing/CInterface.class
rename to src/src/eigenpsf/processing/CInterface.class
diff --git a/java code/src/eigenpsf/processing/CInterface.java b/src/src/eigenpsf/processing/CInterface.java
similarity index 100%
rename from java code/src/eigenpsf/processing/CInterface.java
rename to src/src/eigenpsf/processing/CInterface.java
diff --git a/java code/src/eigenpsf/processing/CoGRegistration.java b/src/src/eigenpsf/processing/CoGRegistration.java
similarity index 100%
rename from java code/src/eigenpsf/processing/CoGRegistration.java
rename to src/src/eigenpsf/processing/CoGRegistration.java
diff --git a/java code/src/eigenpsf/processing/DoGDetection.java b/src/src/eigenpsf/processing/DoGDetection.java
similarity index 100%
rename from java code/src/eigenpsf/processing/DoGDetection.java
rename to src/src/eigenpsf/processing/DoGDetection.java
diff --git a/java code/src/eigenpsf/processing/PolynomialFitBackground.java b/src/src/eigenpsf/processing/PolynomialFitBackground.java
similarity index 100%
rename from java code/src/eigenpsf/processing/PolynomialFitBackground.java
rename to src/src/eigenpsf/processing/PolynomialFitBackground.java
diff --git a/java code/src/eigenpsf/processing/Processing.java b/src/src/eigenpsf/processing/Processing.java
similarity index 100%
rename from java code/src/eigenpsf/processing/Processing.java
rename to src/src/eigenpsf/processing/Processing.java
diff --git a/java code/src/eigenpsf/processing/ProcessingPanel.java b/src/src/eigenpsf/processing/ProcessingPanel.java
similarity index 100%
rename from java code/src/eigenpsf/processing/ProcessingPanel.java
rename to src/src/eigenpsf/processing/ProcessingPanel.java
diff --git a/java code/src/eigenpsf/processing/Refinement.java b/src/src/eigenpsf/processing/Refinement.java
similarity index 100%
rename from java code/src/eigenpsf/processing/Refinement.java
rename to src/src/eigenpsf/processing/Refinement.java
diff --git a/java code/src/eigenpsf/processing/SIFTDetection.java b/src/src/eigenpsf/processing/SIFTDetection.java
similarity index 100%
rename from java code/src/eigenpsf/processing/SIFTDetection.java
rename to src/src/eigenpsf/processing/SIFTDetection.java
diff --git a/java code/src/eigenpsf/processing/ScaleSpaceRegistration.java b/src/src/eigenpsf/processing/ScaleSpaceRegistration.java
similarity index 100%
rename from java code/src/eigenpsf/processing/ScaleSpaceRegistration.java
rename to src/src/eigenpsf/processing/ScaleSpaceRegistration.java
diff --git a/java code/src/eigenpsf/project/DragAndDropPanel.java b/src/src/eigenpsf/project/DragAndDropPanel.java
similarity index 100%
rename from java code/src/eigenpsf/project/DragAndDropPanel.java
rename to src/src/eigenpsf/project/DragAndDropPanel.java
diff --git a/java code/src/eigenpsf/project/MainDialog.java b/src/src/eigenpsf/project/MainDialog.java
similarity index 100%
rename from java code/src/eigenpsf/project/MainDialog.java
rename to src/src/eigenpsf/project/MainDialog.java
diff --git a/java code/src/eigenpsf/project/Project.java b/src/src/eigenpsf/project/Project.java
similarity index 100%
rename from java code/src/eigenpsf/project/Project.java
rename to src/src/eigenpsf/project/Project.java
diff --git a/java code/src/eigenpsf/project/ProjectTable.java b/src/src/eigenpsf/project/ProjectTable.java
similarity index 100%
rename from java code/src/eigenpsf/project/ProjectTable.java
rename to src/src/eigenpsf/project/ProjectTable.java
diff --git a/java code/src/eigenpsf/project/StatusBar.java b/src/src/eigenpsf/project/StatusBar.java
similarity index 100%
rename from java code/src/eigenpsf/project/StatusBar.java
rename to src/src/eigenpsf/project/StatusBar.java
diff --git a/java code/src/eigenpsf/project/Toolbar.java b/src/src/eigenpsf/project/Toolbar.java
similarity index 100%
rename from java code/src/eigenpsf/project/Toolbar.java
rename to src/src/eigenpsf/project/Toolbar.java
diff --git a/java code/src/eigenpsf/stack/Patch.java b/src/src/eigenpsf/stack/Patch.java
similarity index 100%
rename from java code/src/eigenpsf/stack/Patch.java
rename to src/src/eigenpsf/stack/Patch.java
diff --git a/java code/src/eigenpsf/stack/Patches.java b/src/src/eigenpsf/stack/Patches.java
similarity index 100%
rename from java code/src/eigenpsf/stack/Patches.java
rename to src/src/eigenpsf/stack/Patches.java
diff --git a/java code/src/eigenpsf/stack/PatchesTable.java b/src/src/eigenpsf/stack/PatchesTable.java
similarity index 100%
rename from java code/src/eigenpsf/stack/PatchesTable.java
rename to src/src/eigenpsf/stack/PatchesTable.java
diff --git a/java code/src/eigenpsf/stack/PopupMenu.java b/src/src/eigenpsf/stack/PopupMenu.java
similarity index 100%
rename from java code/src/eigenpsf/stack/PopupMenu.java
rename to src/src/eigenpsf/stack/PopupMenu.java
diff --git a/java code/src/eigenpsf/stack/ShowPatchDialog.java b/src/src/eigenpsf/stack/ShowPatchDialog.java
similarity index 100%
rename from java code/src/eigenpsf/stack/ShowPatchDialog.java
rename to src/src/eigenpsf/stack/ShowPatchDialog.java
diff --git a/java code/src/eigenpsf/stack/StackCanvas.java b/src/src/eigenpsf/stack/StackCanvas.java
similarity index 100%
rename from java code/src/eigenpsf/stack/StackCanvas.java
rename to src/src/eigenpsf/stack/StackCanvas.java
diff --git a/java code/src/eigenpsf/stack/ZStack.java b/src/src/eigenpsf/stack/ZStack.java
similarity index 100%
rename from java code/src/eigenpsf/stack/ZStack.java
rename to src/src/eigenpsf/stack/ZStack.java
diff --git a/java code/src/manualpsf/ManualPSF.java b/src/src/manualpsf/ManualPSF.java
similarity index 100%
rename from java code/src/manualpsf/ManualPSF.java
rename to src/src/manualpsf/ManualPSF.java
diff --git a/java code/src/manualpsf/PSFCanvas.java b/src/src/manualpsf/PSFCanvas.java
similarity index 100%
rename from java code/src/manualpsf/PSFCanvas.java
rename to src/src/manualpsf/PSFCanvas.java
diff --git a/java code/src/resources/IconLoader.java b/src/src/resources/IconLoader.java
similarity index 100%
rename from java code/src/resources/IconLoader.java
rename to src/src/resources/IconLoader.java
diff --git a/java code/src/resources/about.png b/src/src/resources/about.png
similarity index 100%
rename from java code/src/resources/about.png
rename to src/src/resources/about.png
diff --git a/java code/src/resources/close.png b/src/src/resources/close.png
similarity index 100%
rename from java code/src/resources/close.png
rename to src/src/resources/close.png
diff --git a/java code/src/resources/contrast.png b/src/src/resources/contrast.png
similarity index 100%
rename from java code/src/resources/contrast.png
rename to src/src/resources/contrast.png
diff --git a/java code/src/resources/drawing.png b/src/src/resources/drawing.png
similarity index 100%
rename from java code/src/resources/drawing.png
rename to src/src/resources/drawing.png
diff --git a/java code/src/resources/edit.png b/src/src/resources/edit.png
similarity index 100%
rename from java code/src/resources/edit.png
rename to src/src/resources/edit.png
diff --git a/java code/src/resources/edit_off.png b/src/src/resources/edit_off.png
similarity index 100%
rename from java code/src/resources/edit_off.png
rename to src/src/resources/edit_off.png
diff --git a/java code/src/resources/github.png b/src/src/resources/github.png
similarity index 100%
rename from java code/src/resources/github.png
rename to src/src/resources/github.png
diff --git a/java code/src/resources/help.png b/src/src/resources/help.png
similarity index 100%
rename from java code/src/resources/help.png
rename to src/src/resources/help.png
diff --git a/java code/src/resources/imagej.png b/src/src/resources/imagej.png
similarity index 100%
rename from java code/src/resources/imagej.png
rename to src/src/resources/imagej.png
diff --git a/java code/src/resources/imagej_off.png b/src/src/resources/imagej_off.png
similarity index 100%
rename from java code/src/resources/imagej_off.png
rename to src/src/resources/imagej_off.png
diff --git a/java code/src/resources/mask.png b/src/src/resources/mask.png
similarity index 100%
rename from java code/src/resources/mask.png
rename to src/src/resources/mask.png
diff --git a/java code/src/resources/new.png b/src/src/resources/new.png
similarity index 100%
rename from java code/src/resources/new.png
rename to src/src/resources/new.png
diff --git a/java code/src/resources/open.png b/src/src/resources/open.png
similarity index 100%
rename from java code/src/resources/open.png
rename to src/src/resources/open.png
diff --git a/java code/src/resources/reset.png b/src/src/resources/reset.png
similarity index 100%
rename from java code/src/resources/reset.png
rename to src/src/resources/reset.png
diff --git a/java code/src/resources/save.png b/src/src/resources/save.png
similarity index 100%
rename from java code/src/resources/save.png
rename to src/src/resources/save.png
diff --git a/java code/src/resources/select.png b/src/src/resources/select.png
similarity index 100%
rename from java code/src/resources/select.png
rename to src/src/resources/select.png
diff --git a/java code/src/resources/settings.png b/src/src/resources/settings.png
similarity index 100%
rename from java code/src/resources/settings.png
rename to src/src/resources/settings.png
diff --git a/java code/src/resources/show.png b/src/src/resources/show.png
similarity index 100%
rename from java code/src/resources/show.png
rename to src/src/resources/show.png
diff --git a/java code/src/resources/stop.png b/src/src/resources/stop.png
similarity index 100%
rename from java code/src/resources/stop.png
rename to src/src/resources/stop.png
diff --git a/java code/src/resources/target.png b/src/src/resources/target.png
similarity index 100%
rename from java code/src/resources/target.png
rename to src/src/resources/target.png
diff --git a/java code/src/resources/time.png b/src/src/resources/time.png
similarity index 100%
rename from java code/src/resources/time.png
rename to src/src/resources/time.png
diff --git a/java code/src/resources/unselect.png b/src/src/resources/unselect.png
similarity index 100%
rename from java code/src/resources/unselect.png
rename to src/src/resources/unselect.png
diff --git a/java code/src/resources/update.png b/src/src/resources/update.png
similarity index 100%
rename from java code/src/resources/update.png
rename to src/src/resources/update.png