Index: src/Actions/MapOfActions.cpp
===================================================================
--- src/Actions/MapOfActions.cpp	(revision 4f7f34ebe3887720f1827172d2ebad1e1c5ca8aa)
+++ src/Actions/MapOfActions.cpp	(revision 0c5eeb409cae578bdec87b091364dde4c8b6940e)
@@ -22,4 +22,45 @@
 #include "verbose.hpp"
 
+#include "Actions/ActionRegistry.hpp"
+#include "Actions/AnalysisAction/MolecularVolumeAction.hpp"
+#include "Actions/AnalysisAction/PairCorrelationAction.hpp"
+#include "Actions/AnalysisAction/PrincipalAxisSystemAction.hpp"
+#include "Actions/AtomAction/AddAction.hpp"
+#include "Actions/AtomAction/ChangeElementAction.hpp"
+#include "Actions/AtomAction/RemoveAction.hpp"
+#include "Actions/CmdAction/BondLengthTableAction.hpp"
+#include "Actions/CmdAction/ElementDbAction.hpp"
+#include "Actions/CmdAction/FastParsingAction.hpp"
+#include "Actions/CmdAction/HelpAction.hpp"
+#include "Actions/CmdAction/VerboseAction.hpp"
+#include "Actions/CmdAction/VersionAction.hpp"
+#include "Actions/FragmentationAction/DepthFirstSearchAction.hpp"
+#include "Actions/FragmentationAction/SubgraphDissectionAction.hpp"
+#include "Actions/FragmentationAction/FragmentationAction.hpp"
+#include "Actions/MoleculeAction/BondFileAction.hpp"
+#include "Actions/MoleculeAction/ChangeNameAction.hpp"
+#include "Actions/MoleculeAction/FillWithMoleculeAction.hpp"
+#include "Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.hpp"
+#include "Actions/MoleculeAction/SaveAdjacencyAction.hpp"
+#include "Actions/MoleculeAction/SaveBondsAction.hpp"
+#include "Actions/MoleculeAction/SaveTemperatureAction.hpp"
+#include "Actions/MoleculeAction/TranslateAction.hpp"
+#include "Actions/MoleculeAction/VerletIntegrationAction.hpp"
+#include "Actions/ParserAction/LoadXyzAction.hpp"
+#include "Actions/ParserAction/SaveXyzAction.hpp"
+#include "Actions/TesselationAction/ConvexEnvelopeAction.hpp"
+#include "Actions/TesselationAction/NonConvexEnvelopeAction.hpp"
+#include "Actions/WorldAction/AddEmptyBoundaryAction.hpp"
+#include "Actions/WorldAction/BoundInBoxAction.hpp"
+#include "Actions/WorldAction/CenterInBoxAction.hpp"
+#include "Actions/WorldAction/CenterOnEdgeAction.hpp"
+#include "Actions/WorldAction/ChangeBoxAction.hpp"
+#include "Actions/WorldAction/InputAction.hpp"
+#include "Actions/WorldAction/OutputAction.hpp"
+#include "Actions/WorldAction/RemoveSphereOfAtomsAction.hpp"
+#include "Actions/WorldAction/RepeatBoxAction.hpp"
+#include "Actions/WorldAction/ScaleBoxAction.hpp"
+#include "Actions/WorldAction/SetDefaultNameAction.hpp"
+#include "Actions/WorldAction/SetGaussianBasisAction.hpp"
 #include "Actions/Values.hpp"
 
@@ -99,4 +140,5 @@
   DescriptionMap["save-bonds"] = "name of the bonds file to write to";
   DescriptionMap["save-temperature"] = "name of the temperature file to write to";
+  DescriptionMap["SaveXyz"] = "save world as xyz file";
   DescriptionMap["scale-box"] = "scale box and atomic positions inside";
   DescriptionMap["subgraph-dissect"] = "dissect the molecular system into molecules representing disconnected subgraphs";
@@ -245,6 +287,55 @@
   DefaultValue["periodic"] = "0";
 
-
-  // list of generic actions
+  // put action into each menu category
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("analysis", "molecular-volume") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("analysis", "pair-correlation") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("analysis", "principal-axis-system") );
+
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("atom", "add-atom") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("atom", "change-element") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("atom", "remove-atom") );
+
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("command", "bond-table") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("command", "element-db") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("command", "fastparsing") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("command", "verbose") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("command", "version") );
+
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("fragmentation", "depth-first-search") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("fragmentation", "fragment-mol") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("fragmentation", "subgraph-dissect") );
+
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "bond-file") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "change-molname") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "fill-molecule") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "linear-interpolate") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "rotate-to-pas") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "save-adjacency") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "save-bonds") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "save-temperature") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "suspend-in-water") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "translate-mol") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("molecule", "verlet-integrate") );
+
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("parser", "parse-xyz") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("parser", "SaveXyz") );
+
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("tesselation", "convex-envelope") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("tesselation", "nonconvex-envelope") );
+
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "boundary") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "bound-in-box") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "center-in-box") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "center-edge") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "change-box") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "input") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "output") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "remove-sphere") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "repeat-box") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "scale-box") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "default-molname") );
+  MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "set-basis") );
+
+  // put actions into command line category
 	generic.insert("add-atom");
   generic.insert("bond-file");
@@ -328,4 +419,57 @@
 }
 
+
+void MapOfActions::populateActions()
+{
+  new AnalysisMolecularVolumeAction();
+  new AnalysisPairCorrelationAction();
+  new AnalysisPrincipalAxisSystemAction();
+
+  new AtomAddAction();
+  new AtomChangeElementAction();
+  new AtomRemoveAction();
+
+  new CommandLineBondLengthTableAction();
+  new CommandLineElementDbAction();
+  new CommandLineFastParsingAction();
+  new CommandLineHelpAction();
+  new CommandLineVerboseAction();
+  new CommandLineVersionAction();
+
+  new FragmentationDepthFirstSearchAction();
+  new FragmentationFragmentationAction();
+  new FragmentationSubgraphDissectionAction();
+
+  new MoleculeBondFileAction();
+  new MoleculeChangeNameAction();
+  new MoleculeFillWithMoleculeAction();
+  new MoleculeLinearInterpolationofTrajectoriesAction();
+  new MoleculeSaveAdjacencyAction();
+  new MoleculeSaveBondsAction();
+  new MoleculeSaveTemperatureAction();
+  new MoleculeTranslateAction();
+  new MoleculeVerletIntegrationAction();
+
+  new ParserLoadXyzAction();
+  new ParserSaveXyzAction();
+
+  new TesselationConvexEnvelopeAction();
+  new TesselationNonConvexEnvelopeAction();
+
+  new WorldAddEmptyBoundaryAction();
+  new WorldBoundInBoxAction();
+  new WorldCenterInBoxAction();
+  new WorldCenterOnEdgeAction();
+  new WorldChangeBoxAction();
+  new WorldInputAction();
+  new WorldOutputAction();
+  new WorldRemoveSphereOfAtomsAction();
+  new WorldRepeatBoxAction();
+  new WorldScaleBoxAction();
+  new WorldSetDefaultNameAction();
+  new WorldSetGaussianBasisAction();
+}
+
+
 /** Adds all options to the CommandLineParser.
  *
