Index: src/Actions/SelectionAction/Atoms/AllAtomsInsideCuboidAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/AllAtomsInsideCuboidAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/AllAtomsInsideCuboidAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -47,8 +47,8 @@
   RealSpaceMatrix RotationMatrix;
 
-  RotationMatrix.setRotation(params.Xangle, params.Yangle, params.Zangle);
+  RotationMatrix.setRotation(params.Xangle.get(), params.Yangle.get(), params.Zangle.get());
 
-  LOG(1, "Selecting all atoms inside a rotated " << RotationMatrix << " cuboid at " << params.position << " and extension of " << params.extension << ".");
-  Shape s = translate(transform(stretch(Cuboid(),params.extension),RotationMatrix),params.position);
+  LOG(1, "Selecting all atoms inside a rotated " << RotationMatrix << " cuboid at " << params.position.get() << " and extension of " << params.extension.get() << ".");
+  Shape s = translate(transform(stretch(Cuboid(),params.extension.get()),RotationMatrix),params.position.get());
   std::vector<atom *> selectedAtoms = World::getInstance().getAllAtoms(AtomsBySelection() && AtomsByShape(s));
   World::getInstance().selectAllAtoms(AtomsByShape(s));
Index: src/Actions/SelectionAction/Atoms/AllAtomsInsideSphereAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/AllAtomsInsideSphereAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/AllAtomsInsideSphereAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -44,6 +44,6 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionAllAtomsInsideSphereAction::performCall() {
-  LOG(1, "Selecting all atoms inside a sphere at " << params.position << " with radius " << params.radius << ".");
-  Shape s = translate(resize(Sphere(),params.radius),params.position);
+  LOG(1, "Selecting all atoms inside a sphere at " << params.position.get() << " with radius " << params.radius.get() << ".");
+  Shape s = translate(resize(Sphere(),params.radius.get()),params.position.get());
   std::vector<atom *> selectedAtoms = World::getInstance().getAllAtoms(AtomsBySelection() && AtomsByShape(s));
   World::getInstance().selectAllAtoms(AtomsByShape(s));
Index: src/Actions/SelectionAction/Atoms/AtomByElementAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/AtomByElementAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/AtomByElementAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -41,7 +41,7 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionAtomByElementAction::performCall() {
-  LOG(1, "Selecting atoms of type " << *params.elemental);
+  LOG(1, "Selecting atoms of type " << *params.elemental.get());
   std::vector<atom *> selectedAtoms = World::getInstance().getAllAtoms(AtomsBySelection());
-  World::getInstance().selectAllAtoms(AtomByType(params.elemental));
+  World::getInstance().selectAllAtoms(AtomByType(params.elemental.get()));
   LOG(0, World::getInstance().countSelectedAtoms() << " atoms selected.");
   return Action::state_ptr(new SelectionAtomByElementState(selectedAtoms,params));
@@ -51,5 +51,5 @@
   SelectionAtomByElementState *state = assert_cast<SelectionAtomByElementState*>(_state.get());
 
-  World::getInstance().unselectAllAtoms(AtomByType(state->params.elemental));
+  World::getInstance().unselectAllAtoms(AtomByType(state->params.elemental.get()));
   BOOST_FOREACH(atom *_atom, state->selectedAtoms)
     World::getInstance().selectAtom(_atom);
@@ -61,5 +61,5 @@
   SelectionAtomByElementState *state = assert_cast<SelectionAtomByElementState*>(_state.get());
 
-  World::getInstance().selectAllAtoms(AtomByType(state->params.elemental));
+  World::getInstance().selectAllAtoms(AtomByType(state->params.elemental.get()));
 
   return Action::state_ptr(_state);
Index: src/Actions/SelectionAction/Atoms/AtomByIdAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/AtomByIdAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/AtomByIdAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -38,5 +38,5 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionAtomByIdAction::performCall() {
-  const atom *Walker = World::getInstance().getAtom(AtomById(params.WalkerId));
+  const atom *Walker = World::getInstance().getAtom(AtomById(params.WalkerId.get()));
   if (Walker != NULL) {
     if (!World::getInstance().isSelected(Walker)) {
@@ -56,5 +56,5 @@
   SelectionAtomByIdState *state = assert_cast<SelectionAtomByIdState*>(_state.get());
 
-  const atom *Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId));
+  const atom *Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId.get()));
   World::getInstance().unselectAtom(Walker);
 
@@ -65,5 +65,5 @@
   SelectionAtomByIdState *state = assert_cast<SelectionAtomByIdState*>(_state.get());
 
-  const atom *Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId));
+  const atom *Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId.get()));
   World::getInstance().selectAtom(Walker);
 
Index: src/Actions/SelectionAction/Atoms/AtomByOrderAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/AtomByOrderAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/AtomByOrderAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -39,5 +39,5 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionAtomByOrderAction::performCall() {
-  const atom *Walker = World::getInstance().getAtom(AtomByOrder(params.order));
+  const atom *Walker = World::getInstance().getAtom(AtomByOrder(params.order.get()));
   if (Walker != NULL) {
     if (!World::getInstance().isSelected(Walker)) {
Index: src/Actions/SelectionAction/Atoms/NotAllAtomsInsideCuboidAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/NotAllAtomsInsideCuboidAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/NotAllAtomsInsideCuboidAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -46,8 +46,8 @@
 Action::state_ptr SelectionNotAllAtomsInsideCuboidAction::performCall() {
   RealSpaceMatrix RotationMatrix;
-  RotationMatrix.setRotation(params.Xangle, params.Yangle, params.Zangle);
+  RotationMatrix.setRotation(params.Xangle.get(), params.Yangle.get(), params.Zangle.get());
 
-  LOG(1, "Unselecting all atoms inside a rotated " << RotationMatrix << " cuboid at " << params.position << " and extension of " << params.extension << ".");
-  Shape s = translate(transform(stretch(Cuboid(),params.extension),RotationMatrix),params.position);
+  LOG(1, "Unselecting all atoms inside a rotated " << RotationMatrix << " cuboid at " << params.position.get() << " and extension of " << params.extension.get() << ".");
+  Shape s = translate(transform(stretch(Cuboid(),params.extension.get()),RotationMatrix),params.position.get());
   std::vector<atom *> unselectedAtoms = World::getInstance().getAllAtoms((!AtomsBySelection()) && AtomsByShape(s));
   World::getInstance().unselectAllAtoms(AtomsByShape(s));
Index: src/Actions/SelectionAction/Atoms/NotAllAtomsInsideSphereAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/NotAllAtomsInsideSphereAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/NotAllAtomsInsideSphereAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -44,6 +44,6 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionNotAllAtomsInsideSphereAction::performCall() {
-  LOG(1, "Unselecting all atoms inside a sphere at " << params.position << " with radius " << params.radius << ".");
-  Shape s = translate(resize(Sphere(),params.radius),params.position);
+  LOG(1, "Unselecting all atoms inside a sphere at " << params.position.get() << " with radius " << params.radius.get() << ".");
+  Shape s = translate(resize(Sphere(),params.radius.get()),params.position.get());
   std::vector<atom *> unselectedAtoms = World::getInstance().getAllAtoms((!AtomsBySelection()) && AtomsByShape(s));
   World::getInstance().unselectAllAtoms(AtomsByShape(s));
Index: src/Actions/SelectionAction/Atoms/NotAtomByElementAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/NotAtomByElementAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/NotAtomByElementAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -41,7 +41,7 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionNotAtomByElementAction::performCall() {
-  LOG(1, "Unselecting atoms of type " << *params.elemental);
+  LOG(1, "Unselecting atoms of type " << *params.elemental.get());
   std::vector<atom *> unselectedAtoms = World::getInstance().getAllAtoms(!AtomsBySelection());
-  World::getInstance().unselectAllAtoms(AtomByType(params.elemental));
+  World::getInstance().unselectAllAtoms(AtomByType(params.elemental.get()));
   LOG(0, World::getInstance().countSelectedAtoms() << " atoms remain selected.");
   return Action::state_ptr(new SelectionNotAtomByElementState(unselectedAtoms,params));
@@ -51,5 +51,5 @@
   SelectionNotAtomByElementState *state = assert_cast<SelectionNotAtomByElementState*>(_state.get());
 
-  World::getInstance().selectAllAtoms(AtomByType(state->params.elemental));
+  World::getInstance().selectAllAtoms(AtomByType(state->params.elemental.get()));
   BOOST_FOREACH(atom *_atom, state->unselectedAtoms)
     World::getInstance().unselectAtom(_atom);
@@ -61,5 +61,5 @@
   SelectionNotAtomByElementState *state = assert_cast<SelectionNotAtomByElementState*>(_state.get());
 
-  World::getInstance().unselectAllAtoms(AtomByType(state->params.elemental));
+  World::getInstance().unselectAllAtoms(AtomByType(state->params.elemental.get()));
 
   return Action::state_ptr(_state);
Index: src/Actions/SelectionAction/Atoms/NotAtomByIdAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/NotAtomByIdAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/NotAtomByIdAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -38,5 +38,5 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionNotAtomByIdAction::performCall() {
-  const atom * Walker = World::getInstance().getAtom(AtomById(params.WalkerId));
+  const atom * Walker = World::getInstance().getAtom(AtomById(params.WalkerId.get()));
   if (Walker != NULL) {
     if (World::getInstance().isSelected(Walker)) {
@@ -56,5 +56,5 @@
   SelectionNotAtomByIdState *state = assert_cast<SelectionNotAtomByIdState*>(_state.get());
 
-  const atom * Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId));
+  const atom * Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId.get()));
   World::getInstance().selectAtom(Walker);
 
@@ -65,5 +65,5 @@
   SelectionNotAtomByIdState *state = assert_cast<SelectionNotAtomByIdState*>(_state.get());
 
-  const atom * Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId));
+  const atom * Walker = World::getInstance().getAtom(AtomById(state->params.WalkerId.get()));
   World::getInstance().unselectAtom(Walker);
 
Index: src/Actions/SelectionAction/Atoms/NotAtomByOrderAction.cpp
===================================================================
--- src/Actions/SelectionAction/Atoms/NotAtomByOrderAction.cpp	(revision be21faee0c27bbf2439e848bacfe01d94e55d9e0)
+++ src/Actions/SelectionAction/Atoms/NotAtomByOrderAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -39,5 +39,5 @@
 /** =========== define the function ====================== */
 Action::state_ptr SelectionNotAtomByOrderAction::performCall() {
-  const atom * Walker = World::getInstance().getAtom(AtomByOrder(params.order));
+  const atom * Walker = World::getInstance().getAtom(AtomByOrder(params.order.get()));
   if (Walker != NULL) {
     if (World::getInstance().isSelected(Walker)) {
