diff --git a/ModDescription.cpp b/ModDescription.cpp
index 24ab406..515ded0 100644
--- a/ModDescription.cpp
+++ b/ModDescription.cpp
@@ -35,12 +35,12 @@ int ModDescription::getReleaseNr() {
 }
 
 std::string ModDescription::getNextDependency() {
-	if(_depsIterator + 2 < _deps.size()) {
+	if(_depsIterator + 1 < _deps.size()) {
 		_depsIterator++;
 		return _deps[_depsIterator];
 	} else {
 		_depsAtEnd = true;
-		return "getNextDependency failed...";
+		return "";
 	}
 }
 
@@ -79,10 +79,13 @@ void ModDescription::setRepositoryAddress(std::string repoaddr) {
 	_repoaddr = repoaddr;
 }
 
-void resetDependencyIterator() {
+void ModDescription::resetDependencyIterator() {
 	_depsIterator = -1;
+	if(_depsAtEnd == true) {
+		_depsAtEnd = false;
+	}
 }
 
-bool dependenciesEnd() {
+bool ModDescription::dependenciesEnd() {
 	return _depsAtEnd;
 }
diff --git a/ModDescription.h b/ModDescription.h
index e02d295..d41bfe4 100644
--- a/ModDescription.h
+++ b/ModDescription.h
@@ -10,7 +10,7 @@
 
 /// \namespace mmm
 /// \brief A global namespace for 3m
-namespace mmm }
+namespace mmm {
 /// \class ModDescription
 /// \brief A class describing a mod.
 class ModDescription {
@@ -30,7 +30,7 @@ public:
 	///< \return Mod name.
 	std::string getDescription(); ///< \brief A function returning mod description.
 	///< \return Mod description.
-	std::string getReleaseNr(); ///< \brief A function returning 3m package release number.
+	int getReleaseNr(); ///< \brief A function returning 3m package release number.
 	///< \return 3m package release number.
 	std::string getNextDependency(); ///< \brief A function returning next dependency from the dependency list.
 	///< \return Next dependency from the dependency list.
diff --git a/OBJECTS b/OBJECTS
index 4bc15eb..fb9b29f 100644
--- a/OBJECTS
+++ b/OBJECTS
@@ -1,5 +1,5 @@
 ModDescription: name, description, release, deps, repotype, repoaddr
-ModList: name, vector<ModDescription>
+ModList: ModListDescription, vector<ModDescription>
 LocalModDescription: ModDescription + remoteModlist (inheritance)
 LocalModList: vector<LocalModDescription>
 RepositoryModDescription: ModDescription + path (inheritance)
diff --git a/filetesters/configparser b/filetesters/configparser
new file mode 100755
index 0000000..f8f960f
Binary files /dev/null and b/filetesters/configparser differ
diff --git a/filetesters/modinfoparser b/filetesters/modinfoparser
new file mode 100755
index 0000000..d1cc855
Binary files /dev/null and b/filetesters/modinfoparser differ
diff --git a/filetesters/modlistparser b/filetesters/modlistparser
new file mode 100755
index 0000000..76dba76
Binary files /dev/null and b/filetesters/modlistparser differ
diff --git a/tests/Makefile b/tests/Makefile
index 60461c7..3ea4225 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -1,7 +1,9 @@
 CXXFLAGS=-Wall
 all:
 	${CXX} ${CXXFLAGS} -o ConfigFileTest ConfigFileTest.cpp ../ConfigFile.cpp ../3mExceptions.cpp
+	${CXX} ${CXXFLAGS} -o ModDescriptionTest ModDescriptionTest.cpp ../ModDescription.cpp
 debug:
 	${CXX} ${CXXFLAGS} -o ConfigFileTest ConfigFileTest.cpp ../ConfigFile.cpp ../3mExceptions.cpp -g
+	${CXX} ${CXXFLAGS} -o ModDescriptionTest ModDescriptionTest.cpp ../ModDescription.cpp -g
 clean:
-	rm -rf ConfigFileTest
+	rm -rf ConfigFileTest ModDescriptionTest
diff --git a/tests/ModDescriptionTest.cpp b/tests/ModDescriptionTest.cpp
new file mode 100644
index 0000000..110d955
--- /dev/null
+++ b/tests/ModDescriptionTest.cpp
@@ -0,0 +1,26 @@
+#include <iostream>
+#include <cstdlib>
+#include "../ModDescription.h"
+using namespace std;
+
+int main() {
+mmm::ModDescription md;
+md.setName("test");
+md.setDescription("Test ModDescription entry");
+md.setReleaseNr(1);
+md.setRepositoryType("archive");
+md.setRepositoryAddress("http://example.tld/mod.zip");
+md.insertDependency("test2");
+md.insertDependency("test3");
+cout << "Name: " << md.getName() << endl << "Description: " << md.getDescription() << endl << "Release number: " << md.getReleaseNr() << endl << "Depends on: ";
+while(!md.dependenciesEnd()) {
+	cout << md.getNextDependency() << " ";
+}
+cout << endl << "Dependencies again: ";
+md.resetDependencyIterator();
+while(!md.dependenciesEnd()) {
+	cout << md.getNextDependency() << " ";
+}
+cout << endl << "Repository type: " << md.getRepositoryType() << endl << "Repository address: " << md.getRepositoryAddress() << endl;
+return EXIT_SUCCESS;
+}