Index: src/MoleculeListClass.hpp
===================================================================
--- src/MoleculeListClass.hpp	(revision 955b91eef584d31f8d9958b67d1ea39b84eb1fb7)
+++ src/MoleculeListClass.hpp	(revision 4d2b33da0f46516edd4b645ae0897eeb664c36fe)
@@ -53,12 +53,4 @@
   int CountAllAtoms() const;
 
-  // Methods moved here from the menus
-  // TODO: more refactoring needed on these methods
-  void createNewMolecule(periodentafel *periode);
-  void loadFromXYZ(periodentafel *periode);
-  void setMoleculeFilename();
-  void parseXYZIntoMolecule();
-  void eraseMolecule();
-
 private:
   World *world; //!< The world this List belongs to. Needed to avoid deadlocks in the destructor
Index: src/molecule.cpp
===================================================================
--- src/molecule.cpp	(revision 955b91eef584d31f8d9958b67d1ea39b84eb1fb7)
+++ src/molecule.cpp	(revision 4d2b33da0f46516edd4b645ae0897eeb664c36fe)
@@ -36,5 +36,4 @@
 #include "Descriptors/AtomIdDescriptor.hpp"
 #include "Element/element.hpp"
-#include "Element/periodentafel.hpp"
 #include "Graph/BondGraph.hpp"
 #include "LinearAlgebra/Exceptions.hpp"
@@ -55,7 +54,6 @@
  * Initialises molecule list with correctly referenced start and end, and sets molecule::last_atom to zero.
  */
-molecule::molecule(const periodentafel * const teil) :
+molecule::molecule() :
   Observable("molecule"),
-  elemente(teil),
   MDSteps(0),
   NoNonHydrogen(0),
@@ -74,5 +72,5 @@
 
 molecule *NewMolecule(){
-  return new molecule(World::getInstance().getPeriode());
+  return new molecule();
 }
 
@@ -590,63 +588,4 @@
 };
 
-/** Adds given atom \a *pointer from molecule list.
- * Increases molecule::last_atom and gives last number to added atom.
- * \param filename name and path of xyz file
- * \return true - succeeded, false - file not found
- */
-bool molecule::AddXYZFile(std::string filename)
-{
-
-  istringstream *input = NULL;
-  int NumberOfAtoms = 0; // atom number in xyz read
-  int i; // loop variables
-  atom *Walker = NULL;  // pointer to added atom
-  char shorthand[3];  // shorthand for atom name
-  ifstream xyzfile;   // xyz file
-  string line;    // currently parsed line
-  double x[3];    // atom coordinates
-
-  xyzfile.open(filename.c_str());
-  if (!xyzfile)
-    return false;
-
-  OBSERVE;
-  getline(xyzfile,line,'\n'); // Read numer of atoms in file
-  input = new istringstream(line);
-  *input >> NumberOfAtoms;
-  LOG(0, "Parsing " << NumberOfAtoms << " atoms in file.");
-  getline(xyzfile,line,'\n'); // Read comment
-  LOG(1, "Comment: " << line);
-
-  if (MDSteps == 0) // no atoms yet present
-    MDSteps++;
-  for(i=0;i<NumberOfAtoms;i++){
-    Walker = World::getInstance().createAtom();
-    getline(xyzfile,line,'\n');
-    istringstream *item = new istringstream(line);
-    //istringstream input(line);
-    //LOG(1, "Reading: " << line);
-    *item >> shorthand;
-    *item >> x[0];
-    *item >> x[1];
-    *item >> x[2];
-    Walker->setType(elemente->FindElement(shorthand));
-    if (Walker->getType() == NULL) {
-      ELOG(1, "Could not parse the element at line: '" << line << "', setting to H.");
-      Walker->setType(1);
-    }
-
-    Walker->setPosition(Vector(x));
-    Walker->setPositionAtStep(MDSteps-1, Vector(x));
-    Walker->setAtomicVelocityAtStep(MDSteps-1, zeroVec);
-    Walker->setAtomicForceAtStep(MDSteps-1, zeroVec);
-    AddAtom(Walker);  // add to molecule
-    delete(item);
-  }
-  xyzfile.close();
-  delete(input);
-  return true;
-};
-
 /** Creates a copy of this molecule.
  * \return copy of molecule
Index: src/molecule.hpp
===================================================================
--- src/molecule.hpp	(revision 955b91eef584d31f8d9958b67d1ea39b84eb1fb7)
+++ src/molecule.hpp	(revision 4d2b33da0f46516edd4b645ae0897eeb664c36fe)
@@ -84,5 +84,4 @@
   typedef boost::transform_iterator<FromIdToAtom, atomIdSet::const_iterator, const atom *, atomId_t const &> const_iterator;
 
-  const periodentafel * const elemente; //!< periodic table with each element
   int MDSteps; //!< The number of MD steps in Trajectories
   mutable int NoNonHydrogen; //!< number of non-hydrogen atoms in molecule
@@ -103,5 +102,5 @@
 protected:
 
-  molecule(const periodentafel * const teil);
+  molecule();
   virtual ~molecule();
 
@@ -188,5 +187,4 @@
   /// Add/remove atoms to/from molecule.
   atom * AddCopyAtom(atom *pointer);
-  bool AddXYZFile(std::string filename);
   bool AddHydrogenReplacementAtom(bond *Bond, atom *BottomOrigin, atom *TopOrigin, atom *TopReplacement, bool IsAngstroem);
   bond * AddBond(atom *first, atom *second, int degree = 1);
Index: src/moleculelist.cpp
===================================================================
--- src/moleculelist.cpp	(revision 955b91eef584d31f8d9958b67d1ea39b84eb1fb7)
+++ src/moleculelist.cpp	(revision 4d2b33da0f46516edd4b645ae0897eeb664c36fe)
@@ -633,79 +633,2 @@
   return AtomNo;
 }
-
-/***********
- * Methods Moved here from the menus
- */
-
-void MoleculeListClass::createNewMolecule(periodentafel *periode) {
-  OBSERVE;
-  molecule *mol = NULL;
-  mol = World::getInstance().createMolecule();
-  insert(mol);
-};
-
-void MoleculeListClass::loadFromXYZ(periodentafel *periode){
-  molecule *mol = NULL;
-  Vector center;
-  char filename[MAXSTRINGSIZE];
-  std::cout << "Format should be XYZ with: ShorthandOfElement\tX\tY\tZ" << endl;
-  mol = World::getInstance().createMolecule();
-  do {
-    std::cout << "Enter file name: ";
-    cin >> filename;
-  } while (!mol->AddXYZFile(filename));
-  mol->SetNameFromFilename(filename);
-  // center at set box dimensions
-  mol->CenterEdge(&center);
-  RealSpaceMatrix domain;
-  for(int i =0;i<NDIM;++i)
-    domain.at(i,i) = center[i];
-  World::getInstance().setDomain(domain);
-  insert(mol);
-}
-
-void MoleculeListClass::setMoleculeFilename() {
-  char filename[MAXSTRINGSIZE];
-  int nr;
-  molecule *mol = NULL;
-  do {
-    std::cout << "Enter index of molecule: ";
-    cin >> nr;
-    mol = ReturnIndex(nr);
-  } while (mol == NULL);
-  std::cout << "Enter name: ";
-  cin >> filename;
-  mol->SetNameFromFilename(filename);
-}
-
-void MoleculeListClass::parseXYZIntoMolecule(){
-  char filename[MAXSTRINGSIZE];
-  int nr;
-  molecule *mol = NULL;
-  mol = NULL;
-  do {
-    std::cout << "Enter index of molecule: ";
-   cin >> nr;
-   mol = ReturnIndex(nr);
-  } while (mol == NULL);
-  std::cout << "Format should be XYZ with: ShorthandOfElement\tX\tY\tZ" << endl;
-  do {
-    std::cout << "Enter file name: ";
-   cin >> filename;
-  } while (!mol->AddXYZFile(filename));
-  mol->SetNameFromFilename(filename);
-};
-
-void MoleculeListClass::eraseMolecule(){
-  int nr;
-  molecule *mol = NULL;
-  std::cout << "Enter index of molecule: ";
-  cin >> nr;
-  for(MoleculeList::iterator ListRunner = ListOfMolecules.begin(); ListRunner != ListOfMolecules.end(); ListRunner++)
-    if (nr == (*ListRunner)->IndexNr) {
-      mol = *ListRunner;
-      ListOfMolecules.erase(ListRunner);
-      World::getInstance().destroyMolecule(mol);
-      break;
-    }
-};
