commit b7446f4c019207a711cc89b10724f6e825cdc0b8
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Sun Jul 12 21:48:58 2015 +0200

    fix in em, samples updated

diff --git a/example/.gitignore b/example/.gitignore
deleted file mode 100644
index 1e75006..0000000
--- a/example/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.pro.user
-*build
diff --git a/example/Example.pro b/example/Example.pro
deleted file mode 100644
index 2529166..0000000
--- a/example/Example.pro
+++ /dev/null
@@ -1,55 +0,0 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2013-08-01T15:03:24
-#
-#-------------------------------------------------
-
-QT       += core
-QT       += sql
-
-QT       -= gui
-
-#TARGET = EntityManager
-CONFIG   += console
-CONFIG   -= app_bundle
-
-TEMPLATE = app
-
-HEADERS += \
-#    models/pupil.h \
-    models/artikel.h \
-#    models/person.h \
-#    models/group.h \
-#    models/teacher.h \
-    models/test/person.h \
-    models/test/group.h \
-    models/test/pupil.h \
-    models/test/address.h \
-    models/test/contact.h \
-    models/faker/createfakemodeldata.h \
-    models/test/enums.h
-
-SOURCES += \
-    main.cpp \
-    models/artikel.cpp \
-#    models/person.cpp \
-#    models/group.cpp \
-#    models/pupil.cpp \
-#    models/teacher.cpp \
-    models/test/person.cpp \
-    models/test/group.cpp \
-    models/test/pupil.cpp \
-    models/test/address.cpp \
-    models/test/contact.cpp \
-    models/faker/createfakemodeldata.cpp
-
-unix:!macx: LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug -lCuteEntityManager
-unix:INCLUDEPATH += $$PWD/../src
-unix:DEPENDPATH += $$PWD/../src
-CONFIG += c++14
-
-win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/release/ -lCuteEntityManager
-else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug/ -lCuteEntityManager
-
-win32:INCLUDEPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
-win32:DEPENDPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
diff --git a/example/main.cpp b/example/main.cpp
deleted file mode 100644
index d1a06e4..0000000
--- a/example/main.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <QCoreApplication>
-#include <typeinfo>
-#include <QDir>
-#include <QDebug>
-#include "models/artikel.h"
-#include <typeinfo>
-#include <QThread>
-#include <QMetaMethod>
-#include <QMetaProperty>
-#include "models/test/group.h"
-#include "../src/entity.h"
-#include "../src/entitymanager.h"
-#include "../src/relation.h"
-#include <QGenericReturnArgument>
-#include "entityinstancefactory.h"
-#include <exception>
-#include "models/test/pupil.h"
-#include "models/faker/createfakemodeldata.h"
-/**
-  * create,remove und merge funktionieren
- */
-using namespace CuteEntityManager;
-int main(int argc, char *argv[]) {
-    Q_UNUSED(argc) Q_UNUSED(argv)
-    CuteEntityManager::EntityManager *e = new
-    CuteEntityManager::EntityManager("QSQLITE",
-                                     QDir::currentPath() + "/db.sqlite");
-    QTime t;
-    t.start();
-    QThread *entityManager = new QThread();
-    e->moveToThread(entityManager);
-    QSharedPointer<Artikel> a = QSharedPointer<Artikel>(new Artikel(20.0,
-                                "Müsli"));
-    auto ep = a.dynamicCast<CuteEntityManager::Entity>();
-    qDebug() << "Tabelle artikel erstellt:" << e->createTable(ep);
-    //e->create(ep);
-    auto artikel = e->findById<Artikel *>(1);
-    qDebug() << "ArtikelID:" << artikel.data()->getId();
-//    QSharedPointer<CuteEntityManager::Entity> p = QSharedPointer<CuteEntityManager::Entity>(new Person("Max", "Mustermann", Person::MALE, "", "", "",
-//                               QDate::currentDate()));
-//    auto pptr = p.dynamicCast<CuteEntityManager::Entity>();
-//    e->createTable(pptr);
-//    e->create(pptr);
-//e->createTable(grp.dynamicCast<CuteEntityManager::Entity>());
-
-//    e->createTable(QSharedPointer<Artikel>(new Artikel()));
-
-    //QSharedPointer<Artikel> aPtr = QSharedPointer<Artikel>(entity);
-    //Pupil *p = new Pupil();
-
-//    auto iterator = hash.constBegin();
-//    while(iterator != hash.constEnd()) {
-//        qDebug() << iterator.key() << " Value:" << iterator.value().read(p);
-//        iterator++;
-//    }
-    EntityInstanceFactory::registerClass<Group>();
-    EntityInstanceFactory::registerClass<Person>();
-    Group *g = new Group();
-//    CreateFakeModelData::fillGroup(g);
-    QSharedPointer<Group> gPtr = QSharedPointer<Group>(g);
-        e->createTable(gPtr);
-    auto prrr = gPtr.objectCast<Entity>();
-    e->create(prrr);
-
-    qDebug() << "Duration:" << t.elapsed();
-
-    return 0;
-}
diff --git a/example/models/artikel.cpp b/example/models/artikel.cpp
deleted file mode 100644
index 493e669..0000000
--- a/example/models/artikel.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-    Small test class
-    Copyright (C) 2013 Christian Ehringfeld <c.ehringfeld@t-online.de>
-
-    This file is part of OpenTeacherTool.
-
-    OpenTeacherTool is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenTeacherTool is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenTeacherTool.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "artikel.h"
-
-double Artikel::getPreis() const {
-    return preis;
-}
-
-void Artikel::setPreis(double value) {
-    preis = value;
-}
-
-QString Artikel::getName() const {
-    return name;
-}
-
-void Artikel::setName(const QString &value) {
-    name = value;
-}
-
-Artikel::~Artikel() {
-
-}
-
-Artikel::Artikel() : Entity() {
-    this->preis = 0.0;
-    this->name = "";
-}
-
-Artikel::Artikel(double preis, QString name) : Entity() {
-    this->preis = preis;
-    this->name = name;
-}
diff --git a/example/models/artikel.h b/example/models/artikel.h
deleted file mode 100644
index 1467031..0000000
--- a/example/models/artikel.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-    Small test class
-    Copyright (C) 2013 Christian Ehringfeld <c.ehringfeld@t-online.de>
-
-    This file is part of OpenTeacherTool.
-
-    OpenTeacherTool is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenTeacherTool is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenTeacherTool.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef ARTIKEL_H
-#define ARTIKEL_H
-#include "../../src/entity.h"
-#include <QHash>
-#include <QVariant>
-
-class Artikel : public CuteEntityManager::Entity {
-    Q_OBJECT
-    Q_PROPERTY(double preis READ getPreis WRITE setPreis)
-    Q_PROPERTY(QString name READ getName WRITE setName)
-  private:
-    double preis;
-    QString name;
-
-  public:
-    virtual ~Artikel();
-    Q_INVOKABLE Artikel();
-    Artikel(double preis, QString name);
-    double getPreis() const;
-    void setPreis(double value);
-    QString getName() const;
-    void setName(const QString &value);
-};
-#endif // ARTIKEL_H
diff --git a/example/models/faker/createfakemodeldata.cpp b/example/models/faker/createfakemodeldata.cpp
deleted file mode 100644
index bdb52bf..0000000
--- a/example/models/faker/createfakemodeldata.cpp
+++ /dev/null
@@ -1,527 +0,0 @@
-#include "createfakemodeldata.h"
-#include "../test/person.h"
-#include "../test/pupil.h"
-#include "../test/address.h"
-#include "../test/contact.h"
-
-void CreateFakeModelData::fillGroup(Group* group) {
-    group->addPerson(new Pupil("Tim","Berg",Person::MALE,"Tim Berg.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
-    group->addPerson(new Pupil("Lena","Conrad",Person::FEMALE,"Lena Conrad.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
-    group->addPerson(new Pupil("Marcel","Dunst",Person::MALE,"Marcel Dunst.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
-    group->addPerson(new Pupil("Carsten","Ernst",Person::MALE,"Carsten Ernst.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
-    group->addPerson(new Pupil("Hannah","Eschborn",Person::FEMALE,"Hannah Eschborn.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
-    group->addPerson(new Pupil("Vera","Geseke",Person::FEMALE,"Vera Geseke.jpg",QString(),QString(),QDate(2000,4,1),"05c",0));
-    group->addPerson(new Pupil("Jann","Hagedorn",Person::MALE,"Jann Hagedorn.jpg",QString(),QString(),QDate(2000,8,16),"05c",0));
-    group->addPerson(new Pupil("Svenja","Hartmann",Person::FEMALE,"Svenja Hartmann.jpg",QString(),QString(),QDate(2000,2,2),"05c",0));
-    group->addPerson(new Pupil("Timo","Haufer",Person::MALE,"Timo Haufer.jpg",QString(),QString(),QDate(2000,2,28),"05c",0));
-    group->addPerson(new Pupil("Birthe","Jäger",Person::FEMALE,"Birthe Jaeger.jpg",QString(),QString(),QDate(2000,2,14),"05c",0));
-    group->addPerson(new Pupil("Torben","Kadatz",Person::MALE,"Torben Kadatz.jpg",QString(),QString(),QDate(2000,2,11),"05c",0));
-    group->addPerson(new Pupil("Julia","Kaiser",Person::FEMALE,"Julia Kaiser.jpg",QString(),QString(),QDate(2000,10,23),"05c",0));
-    group->addPerson(new Pupil("Nadine","Kersting",Person::FEMALE,"Nadine Kersting.jpg",QString(),QString(),QDate(2000,2,1),"05c",0));
-    group->addPerson(new Pupil("Friederike","Kerzel",Person::FEMALE,"Friederike Kerzel.jpg",QString(),QString(),QDate(2000,8,12),"05c",0));
-    group->addPerson(new Pupil("Miriam","Köller",Person::FEMALE,"Miriam Koeller.jpg",QString(),QString(),QDate(2000,6,27),"05c",0));
-    group->addPerson(new Pupil("Mara","Langenberg",Person::FEMALE,"Mara Langenberg.jpg",QString(),QString(),QDate(2000,7,14),"05c",0));
-    group->addPerson(new Pupil("Stefan","Maier",Person::MALE,"Stefan Maier.jpg",QString(),QString(),QDate(2000,3,26),"05c",0));
-    group->addPerson(new Pupil("Dana","Meerkat",Person::FEMALE,"Dana Meerkat.jpg",QString(),QString(),QDate(2000,3,10),"05c",0));
-    group->addPerson(new Pupil("Sibylle","Mentzel",Person::FEMALE,"Sibylle Mentzel.jpg",QString(),QString(),QDate(2001,4,26),"05c",0));
-    group->addPerson(new Pupil("Steffen","Niecke",Person::MALE,"Steffen Niecke.jpg",QString(),QString(),QDate(2000,3,2),"05c",0));
-    group->addPerson(new Pupil("Murat","Öztürk",Person::MALE,"Murat Oeztuerk.jpg",QString(),QString(),QDate(2000,10,27),"05c",0));
-    group->addPerson(new Pupil("Marie","Pieczonka",Person::FEMALE,"Marie Pieczonka.jpg",QString(),QString(),QDate(2000,2,12),"05c",0));
-    group->addPerson(new Pupil("Pit","Reining",Person::MALE,"Pit Reining.jpg",QString(),QString(),QDate(2000,7,20),"05c",0));
-    group->addPerson(new Pupil("Alexander","Richter",Person::MALE,"Alexander Richter .jpg",QString(),QString(),QDate(2001,4,14),"05c",0));
-    group->addPerson(new Pupil("Sina","Schneemann",Person::FEMALE,"Sina Schneemann.jpg",QString(),QString(),QDate(2000,9,2),"05c",0));
-    group->addPerson(new Pupil("Anne","Seweringsbeck",Person::FEMALE,"Anne Seweringsbeck.jpg",QString(),QString(),QDate(1999,11,23),"05c",0));
-    group->addPerson(new Pupil("Benedikt","Terstelen",Person::MALE,"Benedikt Terstelen.jpg",QString(),QString(),QDate(2000,1,6),"05c",0));
-    group->addPerson(new Pupil("Felix","Van Ophoven",Person::MALE,"Felix van Ophoven .jpg",QString(),QString(),QDate(1999,11,21),"05c",0));
-    group->addPerson(new Pupil("Heike","Vierseneck",Person::FEMALE,"Heike Vierseneck.jpg",QString(),QString(),QDate(2000,3,13),"05c",0));
-    group->addPerson(new Pupil("Beatrix","Weber",Person::FEMALE,"Beatrix Weber.jpg",QString(),QString(),QDate(2000,6,9),"05c",0));
-    group->addPerson(new Pupil("Thomas","Weber",Person::MALE,"Thomas Weber.jpg",QString(),QString(),QDate(1999,12,20),"05c",0));
-    group->addPerson(new Pupil("Anna","Webern",Person::FEMALE,"Anna Webern.jpg",QString(),QString(),QDate(2000,12,7),"05c",0));
-    group->addPerson(new Pupil("Lara","Bachmann",Person::FEMALE,"Lara Bachmann.jpg",QString(),QString(),QDate(2000,3,8),"08a",0));
-    group->addPerson(new Pupil("Sandra","Böhmer",Person::FEMALE,"_Sandra Boehmer.jpg",QString(),QString(),QDate(2000,3,22),"08a",0));
-    group->addPerson(new Pupil("Britta","Eschweger",Person::FEMALE,"Britta Eschweger.jpg",QString(),QString(),QDate(2000,7,10),"08a",0));
-    group->addPerson(new Pupil("Annike","Gosekamp",Person::FEMALE,"_Annike Gosekamp.jpg",QString(),QString(),QDate(2000,7,28),"08a",0));
-    group->addPerson(new Pupil("Katharina","Haarmann",Person::FEMALE,"Katharina Haarmann.jpg",QString(),QString(),QDate(2000,3,8),"08a",0));
-    group->addPerson(new Pupil("Sebastian","Hohage",Person::MALE,"Sebastian Hohage.jpg",QString(),QString(),QDate(2000,5,1),"08a",0));
-    group->addPerson(new Pupil("Markus","Kerzel",Person::MALE,"Markus Kerzel.jpg",QString(),QString(),QDate(2000,3,16),"08a",0));
-    group->addPerson(new Pupil("Henning","König",Person::MALE,"Henning Koenig.jpg",QString(),QString(),QDate(2000,5,11),"08a",0));
-    group->addPerson(new Pupil("Sandra","Lehmann",Person::FEMALE,"Sandra Lehmann.jpg",QString(),QString(),QDate(2000,9,3),"08a",0));
-    group->addPerson(new Pupil("Yasmin","Lipinski",Person::FEMALE,"_Yasmin Lipinski .jpg",QString(),QString(),QDate(2000,3,27),"08a",0));
-    group->addPerson(new Pupil("Jakob","Meilenberg",Person::MALE,"Jakob Meilenberg.jpg",QString(),QString(),QDate(2000,6,30),"08a",0));
-    group->addPerson(new Pupil("Benedikt","Meyer",Person::MALE,"Benedikt Meyer.jpg",QString(),QString(),QDate(1999,12,28),"08a",0));
-    group->addPerson(new Pupil("Stefan","Müller",Person::MALE,"Stefan Maier.jpg",QString(),QString(),QDate(2000,5,20),"08a",0));
-    group->addPerson(new Pupil("Peter","Neumann",Person::MALE,"Peter Naumann.jpg",QString(),QString(),QDate(2000,5,27),"08a",0));
-    group->addPerson(new Pupil("Philipp","Quäbicker",Person::MALE,"Phillip Quaebicker.jpg",QString(),QString(),QDate(2000,8,11),"08a",0));
-    group->addPerson(new Pupil("Susanne","Regensburger",Person::FEMALE,"Susanne Regensburger.jpg",QString(),QString(),QDate(2000,8,6),"08a",0));
-    group->addPerson(new Pupil("Beate","Schmidt",Person::FEMALE,"beate schmidt.jpg",QString(),QString(),QDate(2000,7,9),"08a",0));
-    group->addPerson(new Pupil("Lisa","Schmidt",Person::FEMALE,"_Lisa Schmidt.jpg",QString(),QString(),QDate(1999,10,31),"08a",0));
-    group->addPerson(new Pupil("Paul","Schmidt",Person::MALE,"Paul Schmidt.jpg",QString(),QString(),QDate(2000,4,26),"08a",0));
-    group->addPerson(new Pupil("Tanja","Scholz",Person::FEMALE,"Tanja Scholz.jpg",QString(),QString(),QDate(2001,1,11),"08a",0));
-    group->addPerson(new Pupil("Marina","Schulte",Person::FEMALE,"Marina Schulte.jpg",QString(),QString(),QDate(1999,12,2),"08a",0));
-    group->addPerson(new Pupil("Kevin","Schulze",Person::MALE,"Kevin schulze.jpg",QString(),QString(),QDate(1999,2,20),"08a",0));
-    group->addPerson(new Pupil("Antonia","Schwarz",Person::FEMALE,"Antonia Schwarz.jpg",QString(),QString(),QDate(1999,7,11),"08a",0));
-    group->addPerson(new Pupil("Hendrik","Theissen",Person::MALE,"Hendrik Theissen.jpg",QString(),QString(),QDate(2000,3,11),"08a",0));
-    group->addPerson(new Pupil("Carsten","Trompeter",Person::MALE,"Carsten Trompeter.jpg",QString(),QString(),QDate(1998,10,11),"08a",0));
-    group->addPerson(new Pupil("Julia","Tworuschka",Person::FEMALE,"Julia Tworuschka.jpg",QString(),QString(),QDate(1999,7,15),"08a",0));
-    group->addPerson(new Pupil("Sophie","Wedler",Person::FEMALE,"Sophie Wedler.jpg",QString(),QString(),QDate(2000,2,27),"08a",0));
-    group->addPerson(new Pupil("Alice","Wellenstein",Person::FEMALE,"Alice Wellenstein.jpg",QString(),QString(),QDate(2000,11,11),"08a",0));
-    group->addPerson(new Pupil("Gesa","Werthmann",Person::FEMALE,"Gesa Werthmann.jpg",QString(),QString(),QDate(2000,7,23),"08a",0));
-    group->addPerson(new Pupil("Selma","Yildiz",Person::FEMALE,"_Selma Yildiz.jpg",QString(),QString(),QDate(1998,2,1),"08a",0));
-    group->addPerson(new Pupil("Barbara","Anklang",Person::FEMALE,"Barbara Anklang.jpg",QString(),QString(),QDate(1997,12,25),"11",0));
-    group->addPerson(new Pupil("Martin","Baack",Person::MALE,"Martin Baack.jpg",QString(),QString(),QDate(1998,1,1),"11",0));
-    group->addPerson(new Pupil("Martin","Bergmann",Person::MALE,"Martin Bergmann.jpg",QString(),QString(),QDate(1999,5,29),"11",0));
-    group->addPerson(new Pupil("Elisabeth","Blauwies",Person::FEMALE,"Elisabeth Blauwies.jpg",QString(),QString(),QDate(1998,4,9),"11",0));
-    group->addPerson(new Pupil("Tim","Bösch",Person::MALE,"Tim Boesch.jpg",QString(),QString(),QDate(1998,9,27),"11",0));
-    group->addPerson(new Pupil("Frank","Brinkhoff",Person::MALE,"Frank Brinkhoff.jpg",QString(),QString(),QDate(1998,1,15),"11",0));
-    group->addPerson(new Pupil("Theresa","Christens",Person::FEMALE,"Theresa Christens.jpg",QString(),QString(),QDate(1998,3,14),"11",0));
-    group->addPerson(new Pupil("Silke","Goisern",Person::FEMALE,"Silke Goisern.jpg",QString(),QString(),QDate(1998,3,15),"11",0));
-    group->addPerson(new Pupil("Kerstin","Heineberg",Person::FEMALE,"Kerstin Heinenberg .jpg",QString(),QString(),QDate(1997,10,22),"11",0));
-    group->addPerson(new Pupil("Jan","Heiner",Person::MALE,"Jan Heiner.jpg",QString(),QString(),QDate(1997,11,26),"11",0));
-    group->addPerson(new Pupil("Annika","Henrichs",Person::FEMALE,"Annika Henrichs.jpg",QString(),QString(),QDate(1998,5,17),"11",0));
-    group->addPerson(new Pupil("Fritzie","Herbst",Person::FEMALE,"Fritzie Herbst.jpg",QString(),QString(),QDate(1998,3,14),"11",0));
-    group->addPerson(new Pupil("Leo","Hirsch",Person::MALE,"Leo Hirsch.jpg",QString(),QString(),QDate(1997,9,7),"11",0));
-    group->addPerson(new Pupil("Justus","Markwort",Person::MALE,"Justus Markwort.jpg",QString(),QString(),QDate(1995,8,4),"11",0));
-    group->addPerson(new Pupil("Christopher","Mauntz",Person::MALE,"Christopher Mauntz.jpg",QString(),QString(),QDate(1998,1,13),"11",0));
-    group->addPerson(new Pupil("Kai","Maurer",Person::MALE,"Kai Maurer.jpg",QString(),QString(),QDate(1997,12,30),"11",0));
-    group->addPerson(new Pupil("Florian","Neuhaus",Person::MALE,"Florian Neuhaus.jpg",QString(),QString(),QDate(1998,5,20),"11",0));
-    group->addPerson(new Pupil("Sabine","Overkamp",Person::FEMALE,"Sabine Overkamp.jpg",QString(),QString(),QDate(1998,8,4),"11",0));
-    group->addPerson(new Pupil("Frank","Paschen",Person::MALE,"Frank Paschen.jpg",QString(),QString(),QDate(1998,3,17),"11",0));
-    group->addPerson(new Pupil("Petra","Schubert",Person::FEMALE,"Petra Schubert.jpg",QString(),QString(),QDate(1994,2,23),"11",0));
-    group->addPerson(new Pupil("Verena","Schwarz",Person::FEMALE,"Verena Schwarz.jpg",QString(),QString(),QDate(1993,3,17),"11",0));
-    group->addPerson(new Pupil("Helge","Stalter",Person::MALE,"Helge Stalter.jpg",QString(),QString(),QDate(1994,2,6),"11",0));
-    group->addPerson(new Pupil("Lena","Swarovski",Person::FEMALE,"Lena Swarovski.jpg",QString(),QString(),QDate(1994,3,22),"11",0));
-
-//    Paths::setCustomPicturePathStatic("resources/");
-//    Paths::setPicturePathStatic("resources/");
-
-    group->personAt(0).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
-    group->personAt(1).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
-    group->personAt(2).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
-    group->personAt(3).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
-    group->personAt(4).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
-    group->personAt(5).data()->addAddress(new Address("Erzieher","Auguste-Viktoria-Platz 193","77652","Offenburg"));
-    group->personAt(6).data()->addAddress(new Address("Erzieher","Bullenwinkel 467","74074","Heilbronn"));
-    group->personAt(7).data()->addAddress(new Address("Erzieher","Schinkelplatz 389","46236","Bottrop"));
-    group->personAt(8).data()->addAddress(new Address("Erzieher","Mentzelstraße 327","33617","Bielefeld"));
-    group->personAt(9).data()->addAddress(new Address("Erzieher","Bundesallee 252","49082","Osnabrück"));
-    group->personAt(10).data()->addAddress(new Address("Erzieher","Schreberplatz 93","33619","Bielefeld"));
-    group->personAt(11).data()->addAddress(new Address("Erzieher","Mühltaler Straße 252","45327","Essen"));
-    group->personAt(12).data()->addAddress(new Address("Erzieher","Köllnischer Wursthof 49","50996","Köln"));
-    group->personAt(13).data()->addAddress(new Address("Erzieher","Spinnpfad 38","40599","Düsseldorf"));
-    group->personAt(14).data()->addAddress(new Address("Erzieher","Schießgasse 122","85399","Hallbergmoos"));
-    group->personAt(15).data()->addAddress(new Address("Erzieher","Am Wiesenrain 156","69221","Dossenheim"));
-    group->personAt(16).data()->addAddress(new Address("Erzieher","Spindlersfelder Straße 201","40593","Düsseldorf"));
-    group->personAt(17).data()->addAddress(new Address("Erzieher","Schröderdamm 37","47169","Duisburg"));
-    group->personAt(18).data()->addAddress(new Address("Erzieher","Franklinstraße 390","48356","Nordwalde"));
-    group->personAt(19).data()->addAddress(new Address("Erzieher","Friedbergstraße 84","10555","Berlin"));
-    group->personAt(20).data()->addAddress(new Address("Erzieher","Mandrellaplatz 319","53119","Bonn"));
-    group->personAt(21).data()->addAddress(new Address("Erzieher","Müggelwerderweg 489","50823","Köln"));
-    group->personAt(22).data()->addAddress(new Address("Erzieher","Stralauer Straße 137","45478","Mülheim"));
-    group->personAt(23).data()->addAddress(new Address("Erzieher","Müggellandstraße 101","33611","Bielefeld"));
-    group->personAt(24).data()->addAddress(new Address("Erzieher","Müggelbergallee 455","60314","Frankfurt"));
-    group->personAt(25).data()->addAddress(new Address("Erzieher","Kirch-Gasse 96","53129","Bonn"));
-    group->personAt(26).data()->addAddress(new Address("Erzieher","Buchholzweg 278","51545","Waldbröl"));
-    group->personAt(27).data()->addAddress(new Address("Erzieher","Plattnerstraße 287","40233","Düsseldorf"));
-    group->personAt(28).data()->addAddress(new Address("Erzieher","Bolivarallee 28","41517","Grevenbroich"));
-    group->personAt(29).data()->addAddress(new Address("Erzieher","Große Allee 464","F-75011","Paris"));
-    group->personAt(30).data()->addAddress(new Address("Erzieher","Edisonstraße 496","53881","Euskirchen"));
-    group->personAt(31).data()->addAddress(new Address("Erzieher","Erknerstraße 414","82194","Gröbenzell"));
-    group->personAt(32).data()->addAddress(new Address("Erzieher","Friedrichplatz 339","57584","Wallmenroth"));
-    group->personAt(33).data()->addAddress(new Address("Erzieher","Englische Straße 42","22926","Ahrensburg"));
-    group->personAt(34).data()->addAddress(new Address("Erzieher","Oettingstraße 491","82140","Olching"));
-    group->personAt(35).data()->addAddress(new Address("Erzieher","Erpetaler Weg 285","46519","Alpen"));
-    group->personAt(36).data()->addAddress(new Address("Erzieher","Spreestraße 91","40235","Düsseldorf"));
-    group->personAt(37).data()->addAddress(new Address("Erzieher","Carmerstraße 233","46397","Bocholt"));
-    group->personAt(38).data()->addAddress(new Address("Erzieher","Emmy-Zehden-Weg 460","10435","Berlin"));
-    group->personAt(39).data()->addAddress(new Address("Erzieher","Stubenrauchstraße 216","40210","Düsseldorf"));
-    group->personAt(40).data()->addAddress(new Address("Erzieher","Kalkscheunenquergasse 210","46395","Bocholt"));
-    group->personAt(41).data()->addAddress(new Address("Erzieher","Seestraße 430","59302","Oelde"));
-    group->personAt(42).data()->addAddress(new Address("Erzieher","Amselhorst 257","60313","Frankfurt"));
-    group->personAt(43).data()->addAddress(new Address("Erzieher","Nobels Hof 383","95326","Kulmbach"));
-    group->personAt(44).data()->addAddress(new Address("Erzieher","Luisenstraße 375","45259","Essen"));
-    group->personAt(45).data()->addAddress(new Address("Erzieher","Müllroser Straße 371","33428","Harsewinkel"));
-    group->personAt(46).data()->addAddress(new Address("Erzieher","Bismarckstraße 251","24103","Kiel"));
-    group->personAt(47).data()->addAddress(new Address("Erzieher","Militscher Weg 222","59077","Hamm"));
-    group->personAt(48).data()->addAddress(new Address("Erzieher","Kleine Burgstraße 211","24111","Kiel"));
-    group->personAt(49).data()->addAddress(new Address("Erzieher","Kirchgasse 166","47166","Duisburg"));
-    group->personAt(50).data()->addAddress(new Address("Erzieher","Am Postfenn 448","81825","München"));
-    group->personAt(51).data()->addAddress(new Address("Erzieher","Breite Straße 227","80993","München"));
-    group->personAt(52).data()->addAddress(new Address("Erzieher","Gustloffstraße 292","45896","Gelsenkirchen"));
-    group->personAt(53).data()->addAddress(new Address("Erzieher","Am Salzufer beim Speicher 10","53842","Troisdorf"));
-    group->personAt(54).data()->addAddress(new Address("Erzieher","Strandweg 13","46359","Heiden"));
-    group->personAt(55).data()->addAddress(new Address("Erzieher","Dickensweg 269","45899","Gelsenkirchen"));
-    group->personAt(56).data()->addAddress(new Address("Erzieher","Birkweilerstraße 258","42389","Wuppertal"));
-    group->personAt(57).data()->addAddress(new Address("Erzieher","Luisenplatz 33","48153","Münster"));
-    group->personAt(58).data()->addAddress(new Address("Erzieher","Am Volkshaus 242","60529","Frankfurt"));
-    group->personAt(59).data()->addAddress(new Address("Erzieher","Adlershofer Straße 357","37671","Höxter"));
-    group->personAt(60).data()->addAddress(new Address("Erzieher","Semliner Straße 463","10245","Berlin"));
-    group->personAt(61).data()->addAddress(new Address("Erzieher","Kirchplatz 254","76149","Karlsruhe"));
-    group->personAt(62).data()->addAddress(new Address("Erzieher","Straße nach Fichtenau 408","52457","Aldenhoven"));
-    group->personAt(63).data()->addAddress(new Address("Erzieher","Schützengasse 497","73460","Hüttlingen"));
-    group->personAt(64).data()->addAddress(new Address("Erzieher","Bismarckstraße 194","28209","Bremen"));
-    group->personAt(65).data()->addAddress(new Address("Erzieher","Am Bahnhof Jungfernheide 227","57299","Burbach"));
-    group->personAt(66).data()->addAddress(new Address("Erzieher","Epiphanienweg 219","45149","Essen"));
-    group->personAt(67).data()->addAddress(new Address("Erzieher","Scharnhorststraße 238","91054","Erlangen"));
-    group->personAt(68).data()->addAddress(new Address("Erzieher","Baderseestraße 492","42899","Remscheid"));
-    group->personAt(69).data()->addAddress(new Address("Erzieher","Enkenbacher Weg 473","53179","Bonn"));
-    group->personAt(70).data()->addAddress(new Address("Erzieher","Siefersheimer Straße 379","50226","Frechen"));
-    group->personAt(71).data()->addAddress(new Address("Erzieher","Gutsmuthsweg 197","59955","Winterberg"));
-    group->personAt(72).data()->addAddress(new Address("Erzieher","Beutenweg 316","42329","Wuppertal"));
-    group->personAt(73).data()->addAddress(new Address("Erzieher","Fahlenbergstraße 244","50667","Köln"));
-    group->personAt(74).data()->addAddress(new Address("Erzieher","Cauerstraße 171","41068","Mönchengladbach"));
-    group->personAt(75).data()->addAddress(new Address("Erzieher","Eichkatzweg 263","10999","Berlin"));
-    group->personAt(76).data()->addAddress(new Address("Erzieher","Fasanenstraße 83","34127","Kassel"));
-    group->personAt(77).data()->addAddress(new Address("Erzieher","Augsburger Straße 397","41748","Viersen"));
-    group->personAt(78).data()->addAddress(new Address("Erzieher","Erlengrund 240","22393","Hamburg"));
-    group->personAt(79).data()->addAddress(new Address("Erzieher","Müggelschlößchenweg 111","90762","Fürth"));
-    group->personAt(80).data()->addAddress(new Address("Erzieher","Rautendeleinweg 233","60322","Frankfurt"));
-    group->personAt(81).data()->addAddress(new Address("Erzieher","Plattnerstraße 448","33611","Bielefeld"));
-    group->personAt(82).data()->addAddress(new Address("Erzieher","Falkendamm 174","44532","Lünen"));
-    group->personAt(83).data()->addAddress(new Address("Erzieher","Beutenweg 46","40233","Düsseldorf"));
-    group->personAt(84).data()->addAddress(new Address("Erzieher","Grolmanstraße 21","42105","Wuppertal"));
-
-    group->personAt(0).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
-    group->personAt(1).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
-    group->personAt(2).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
-    group->personAt(3).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
-    group->personAt(4).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
-    group->personAt(5).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-340678"));
-    group->personAt(6).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-697259"));
-    group->personAt(7).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-893457"));
-    group->personAt(8).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-329887"));
-    group->personAt(9).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-929597"));
-    group->personAt(10).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-796732"));
-    group->personAt(11).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-546859"));
-    group->personAt(12).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-595620"));
-    group->personAt(13).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-866276"));
-    group->personAt(14).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-460017"));
-    group->personAt(15).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-482789"));
-    group->personAt(16).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-572497"));
-    group->personAt(17).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-778335"));
-    group->personAt(18).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-373357"));
-    group->personAt(19).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-141325"));
-    group->personAt(20).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-479624"));
-    group->personAt(21).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-181349"));
-    group->personAt(22).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-292118"));
-    group->personAt(23).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-835081"));
-    group->personAt(24).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-177756"));
-    group->personAt(25).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-744508"));
-    group->personAt(26).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-966629"));
-    group->personAt(27).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-310955"));
-    group->personAt(28).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-557452"));
-    group->personAt(29).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-822892"));
-    group->personAt(30).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-146895"));
-    group->personAt(31).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-140179"));
-    group->personAt(32).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-748715"));
-    group->personAt(33).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-511395"));
-    group->personAt(34).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-451487"));
-    group->personAt(35).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-427073"));
-    group->personAt(36).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-636559"));
-    group->personAt(37).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-952210"));
-    group->personAt(38).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-273424"));
-    group->personAt(39).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-371440"));
-    group->personAt(40).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-620761"));
-    group->personAt(41).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-976994"));
-    group->personAt(42).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-884805"));
-    group->personAt(43).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-664649"));
-    group->personAt(44).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-860288"));
-    group->personAt(45).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-756263"));
-    group->personAt(46).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-471363"));
-    group->personAt(47).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-381769"));
-    group->personAt(48).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-449971"));
-    group->personAt(49).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-167298"));
-    group->personAt(50).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-125506"));
-    group->personAt(51).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-295468"));
-    group->personAt(52).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-288429"));
-    group->personAt(53).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-838009"));
-    group->personAt(54).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-460820"));
-    group->personAt(55).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-280847"));
-    group->personAt(56).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-864574"));
-    group->personAt(57).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-496047"));
-    group->personAt(58).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-448370"));
-    group->personAt(59).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-371203"));
-    group->personAt(60).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-395222"));
-    group->personAt(61).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-984187"));
-    group->personAt(62).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-726034"));
-    group->personAt(63).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-848504"));
-    group->personAt(64).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-384888"));
-    group->personAt(65).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-816536"));
-    group->personAt(66).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-959895"));
-    group->personAt(67).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-805634"));
-    group->personAt(68).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-884150"));
-    group->personAt(69).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-614509"));
-    group->personAt(70).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-204527"));
-    group->personAt(71).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-936177"));
-    group->personAt(72).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-851124"));
-    group->personAt(73).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-780272"));
-    group->personAt(74).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-193218"));
-    group->personAt(75).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-863423"));
-    group->personAt(76).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-505932"));
-    group->personAt(77).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-193988"));
-    group->personAt(78).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-284261"));
-    group->personAt(79).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-354793"));
-    group->personAt(80).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-150300"));
-    group->personAt(81).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-935449"));
-    group->personAt(82).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-241454"));
-    group->personAt(83).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-263433"));
-    group->personAt(84).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-942203"));
-
-    group->personAt(0).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
-    group->personAt(1).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
-    group->personAt(2).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
-    group->personAt(3).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
-    group->personAt(4).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
-    group->personAt(5).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-791688"));
-    group->personAt(6).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-837199"));
-    group->personAt(7).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-194122"));
-    group->personAt(8).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-145996"));
-    group->personAt(9).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-446435"));
-    group->personAt(10).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-777240"));
-    group->personAt(11).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-957984"));
-    group->personAt(12).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-959035"));
-    group->personAt(13).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-646996"));
-    group->personAt(14).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-754644"));
-    group->personAt(15).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-691871"));
-    group->personAt(16).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-606116"));
-    group->personAt(17).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-560258"));
-    group->personAt(18).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-725004"));
-    group->personAt(19).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-836000"));
-    group->personAt(20).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-501271"));
-    group->personAt(21).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-495368"));
-    group->personAt(22).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-833977"));
-    group->personAt(23).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-999205"));
-    group->personAt(24).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-496463"));
-    group->personAt(25).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-901833"));
-    group->personAt(26).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-836660"));
-    group->personAt(27).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-565273"));
-    group->personAt(28).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-334976"));
-    group->personAt(29).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-586964"));
-    group->personAt(30).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-669576"));
-    group->personAt(31).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-931698"));
-    group->personAt(32).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-968447"));
-    group->personAt(33).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-576603"));
-    group->personAt(34).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-331963"));
-    group->personAt(35).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-122682"));
-    group->personAt(36).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-582439"));
-    group->personAt(37).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-930372"));
-    group->personAt(38).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-812512"));
-    group->personAt(39).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-432765"));
-    group->personAt(40).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-443758"));
-    group->personAt(41).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-696010"));
-    group->personAt(42).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-493309"));
-    group->personAt(43).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-470076"));
-    group->personAt(44).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-284998"));
-    group->personAt(45).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-619313"));
-    group->personAt(46).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-922854"));
-    group->personAt(47).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-610450"));
-    group->personAt(48).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-593422"));
-    group->personAt(49).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-378564"));
-    group->personAt(50).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-311956"));
-    group->personAt(51).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-645321"));
-    group->personAt(52).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-305341"));
-    group->personAt(53).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-708486"));
-    group->personAt(54).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-943784"));
-    group->personAt(55).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-855304"));
-    group->personAt(56).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-524665"));
-    group->personAt(57).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-629998"));
-    group->personAt(58).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-803833"));
-    group->personAt(59).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-568313"));
-    group->personAt(60).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-472579"));
-    group->personAt(61).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-453570"));
-    group->personAt(62).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-779747"));
-    group->personAt(63).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-959740"));
-    group->personAt(64).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-791460"));
-    group->personAt(65).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-852067"));
-    group->personAt(66).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-137234"));
-    group->personAt(67).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-245563"));
-    group->personAt(68).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-103207"));
-    group->personAt(69).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-376089"));
-    group->personAt(70).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-551473"));
-    group->personAt(71).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-928563"));
-    group->personAt(72).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-268328"));
-    group->personAt(73).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-771549"));
-    group->personAt(74).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-776219"));
-    group->personAt(75).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-581444"));
-    group->personAt(76).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-100392"));
-    group->personAt(77).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-267220"));
-    group->personAt(78).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-333075"));
-    group->personAt(79).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-746235"));
-    group->personAt(80).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-695127"));
-    group->personAt(81).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-231127"));
-    group->personAt(82).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-992639"));
-    group->personAt(83).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-334154"));
-    group->personAt(84).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-100465"));
-
-    group->personAt(0).data()->addContact(new Contact("Email",EMAIL_CONTACT,"TimmieB@smail.de_"));
-    group->personAt(1).data()->addContact(new Contact("Email",EMAIL_CONTACT,"lenalenalena3@smail.de_"));
-    group->personAt(2).data()->addContact(new Contact("Email",EMAIL_CONTACT,"marcel.dunst111@smail.de_"));
-    group->personAt(3).data()->addContact(new Contact("Email",EMAIL_CONTACT,"cernst@smail.de_"));
-    group->personAt(4).data()->addContact(new Contact("Email",EMAIL_CONTACT,"hannahsemail@smail.de_"));
-    group->personAt(5).data()->addContact(new Contact("Email",EMAIL_CONTACT,"vrgsk@smail.de_"));
-    group->personAt(6).data()->addContact(new Contact("Email",EMAIL_CONTACT,"hagedornjann@smail.de_"));
-    group->personAt(7).data()->addContact(new Contact("Email",EMAIL_CONTACT,"svenja_H@smail.de_"));
-    group->personAt(8).data()->addContact(new Contact("Email",EMAIL_CONTACT,"dertimohatmail@smail.de_"));
-    group->personAt(9).data()->addContact(new Contact("Email",EMAIL_CONTACT,"birthe-hunter@smail.de_"));
-    group->personAt(10).data()->addContact(new Contact("Email",EMAIL_CONTACT,"thor-ben@smail.de_"));
-    group->personAt(11).data()->addContact(new Contact("Email",EMAIL_CONTACT,"kaiserin_julia@smail.de_"));
-    group->personAt(12).data()->addContact(new Contact("Email",EMAIL_CONTACT,"dinikersting@smail.de_"));
-    group->personAt(13).data()->addContact(new Contact("Email",EMAIL_CONTACT,"rieke1234567@smail.de_"));
-    group->personAt(14).data()->addContact(new Contact("Email",EMAIL_CONTACT,"koellerkollerkiller@smail.de_"));
-    group->personAt(15).data()->addContact(new Contact("Email",EMAIL_CONTACT,"mara-longmountain@smail.de_"));
-    group->personAt(16).data()->addContact(new Contact("Email",EMAIL_CONTACT,"stefanowitschm@smail.de_"));
-    group->personAt(17).data()->addContact(new Contact("Email",EMAIL_CONTACT,"danameerkatze@smail.de_"));
-    group->personAt(18).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BillieMentzel@smail.de_"));
-    group->personAt(19).data()->addContact(new Contact("Email",EMAIL_CONTACT,"steffenNIE@smail.de_"));
-    group->personAt(20).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MuratÖzgür@smail.de_"));
-    group->personAt(21).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MariechenPieczo@smail.de_"));
-    group->personAt(22).data()->addContact(new Contact("Email",EMAIL_CONTACT,"pit-cleaning@smail.de_"));
-    group->personAt(23).data()->addContact(new Contact("Email",EMAIL_CONTACT,"richter_alex1111@smail.de_"));
-    group->personAt(24).data()->addContact(new Contact("Email",EMAIL_CONTACT,"schneefrau@smail.de_"));
-    group->personAt(25).data()->addContact(new Contact("Email",EMAIL_CONTACT,"anne.seweringsbeck@smail.de_"));
-    group->personAt(26).data()->addContact(new Contact("Email",EMAIL_CONTACT,"benedikt_terstelen@smail.de_"));
-    group->personAt(27).data()->addContact(new Contact("Email",EMAIL_CONTACT,"happyfromophoven@smail.de_"));
-    group->personAt(28).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Heike.Vierseneck@smail.de_"));
-    group->personAt(29).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BeaWeberNEU@smail.de_"));
-    group->personAt(30).data()->addContact(new Contact("Email",EMAIL_CONTACT,"ThomasWeberThomasWeber@smail.de_"));
-    group->personAt(31).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BellaAnnaWebern99@smail.de_"));
-    group->personAt(32).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Larabach@smail.de_"));
-    group->personAt(33).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Sboehmer@smail.de_"));
-    group->personAt(34).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BrEs@smail.de_"));
-    group->personAt(35).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Annik-Gose@smail.de_"));
-    group->personAt(36).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kat_Haarmann@smail.de_"));
-    group->personAt(37).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SebiHohi2000@smail.de_"));
-    group->personAt(38).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kerzel.M@smail.de_"));
-    group->personAt(39).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hennig-the-King@smail.de_"));
-    group->personAt(40).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SandyLeh@smail.de_"));
-    group->personAt(41).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Yasmin-Lipinski@smail.de_"));
-    group->personAt(42).data()->addContact(new Contact("Email",EMAIL_CONTACT,"7-Meilen-Jakob@smail.de_"));
-    group->personAt(43).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Big_Benny@smail.de_"));
-    group->personAt(44).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Stefan.Mueller13@smail.de_"));
-    group->personAt(45).data()->addContact(new Contact("Email",EMAIL_CONTACT,"PeterPanNeu@smail.de_"));
-    group->personAt(46).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Quaebicker.Phil@smail.de_"));
-    group->personAt(47).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Susi_Spielmacher@smail.de_"));
-    group->personAt(48).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Schmidtty-Bea00@smail.de_"));
-    group->personAt(49).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MrsNeunmalklug@smail.de_"));
-    group->personAt(50).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Paul.S.99@smail.de_"));
-    group->personAt(51).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Scholz_Tanja_2@smail.de_"));
-    group->personAt(52).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Meeresschulte99@smail.de_"));
-    group->personAt(53).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kev.Cool-13@smail.de_"));
-    group->personAt(54).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BlackAntony@smail.de_"));
-    group->personAt(55).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hendrik-Theissen-Jr@smail.de_"));
-    group->personAt(56).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Carsten-Trumpet5@smail.de_"));
-    group->personAt(57).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Julia.Tworuschka@smail.de_"));
-    group->personAt(58).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SophiesWelt2000@smial.de_"));
-    group->personAt(59).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Alice-Wavestone@smail.de_"));
-    group->personAt(60).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Leiden-der-jungen-Gesa@smail.de_"));
-    group->personAt(61).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Selma-Yildiz13@smail.de_"));
-    group->personAt(62).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Barbara-at-Sound@smail.de_"));
-    group->personAt(63).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Baak.M.1234@smail.de_"));
-    group->personAt(64).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Martin.Bergmann@smail.de_"));
-    group->personAt(65).data()->addContact(new Contact("Email",EMAIL_CONTACT,"EinsteinElli@smail.de_"));
-    group->personAt(66).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Ti-Boe@smail.de_"));
-    group->personAt(67).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Zum-Wohl-Frank@smail.de_"));
-    group->personAt(68).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Holy-Theresa@smail.de_"));
-    group->personAt(69).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Silke.Goisern96@smail.de_"));
-    group->personAt(70).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kerstin_Heini@smail.de_"));
-    group->personAt(71).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Jan-the-brain@smail.de_"));
-    group->personAt(72).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Annika.Henrichs12@smail.de_"));
-    group->personAt(73).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Fritzie-Coke@smail.de_"));
-    group->personAt(74).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hirsch-heisst-er@smail.de_"));
-    group->personAt(75).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Just_Mark_Word@smail.de_"));
-    group->personAt(76).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Chriscat95@smail.de_"));
-    group->personAt(77).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kai-Maurer-415@smail.de_"));
-    group->personAt(78).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Neuhaus-1645@smail.de_"));
-    group->personAt(79).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Sabine.Overkamp2@smail.de_"));
-    group->personAt(80).data()->addContact(new Contact("Email",EMAIL_CONTACT,"PaschFrank@smail.de_"));
-    group->personAt(81).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Petras_Winterreise@smail.de_"));
-    group->personAt(82).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BlackMamba5@smail.de_"));
-    group->personAt(83).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Helges-Jazzclub@smail.de_"));
-    group->personAt(84).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Swarovski.Lena4@smail.de_"));
-
-
-    group->personAt(0).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"info@berg-immobilien.com_"));
-    group->personAt(1).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"ClemensundAnja@DieConrads.de_"));
-    group->personAt(2).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"sales@dunst-aufzuege.de_"));
-    group->personAt(3).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieErnst@smail.de_"));
-    group->personAt(4).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"juergen.eschborn@smail.de_"));
-    group->personAt(5).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Britta_Geseke@smail.de_"));
-    group->personAt(6).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"familie@hagedorns.de_"));
-    group->personAt(7).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"hartmaenner@smail.de_"));
-    group->personAt(8).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Marco.Haufer@email.de_"));
-    group->personAt(9).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"aufzumfroehlichenjagen@email.de_"));
-    group->personAt(10).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"hwerdka@smail.de_"));
-    group->personAt(11).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HalloHerrKaiser@smail.de_"));
-    group->personAt(12).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kersting.Ute@smail.de_"));
-    group->personAt(13).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kerzels@smail.de_"));
-    group->personAt(14).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"vera-koeller@smail.de_"));
-    group->personAt(15).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Sebastian.Langenberg@smail.de_"));
-    group->personAt(16).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Sabine_Maier_69@smail.de_"));
-    group->personAt(17).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"paul@familiemeerkat.de_"));
-    group->personAt(18).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"berndmentzel@smail.de_"));
-    group->personAt(19).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Ruediger_Niecke@smail.de_"));
-    group->personAt(20).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"OgulcanOeztuerk@smail.com.tk_"));
-    group->personAt(21).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"sales@beckertransporte.de_"));
-    group->personAt(22).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"mail@reining-tv.de_"));
-    group->personAt(23).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"GeroRichter@smail.de_"));
-    group->personAt(24).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"dieschneemaenner@smail.de_"));
-    group->personAt(25).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"familie@seweringsbeck.de_"));
-    group->personAt(26).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"terstelen@deinebank.de_"));
-    group->personAt(27).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"vanophovencarla@smail.de_"));
-    group->personAt(28).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"elternvonheike@smail.de_"));
-    group->personAt(29).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"WeberKnechte@smail.de_"));
-    group->personAt(30).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"WeberKnechte@smail.de_"));
-    group->personAt(31).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"webern@elternmail.de_"));
-    group->personAt(32).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Heiner.Bachmann@smail.de_"));
-    group->personAt(33).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"L.Boehmer-Kapitza@smail.de_"));
-    group->personAt(34).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Annette.Eschweger@smail.de_"));
-    group->personAt(35).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Heiner.Gosekamp@smail.de_"));
-    group->personAt(36).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"H@Haarmann.de_"));
-    group->personAt(37).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"K.Hohage@smail.de_"));
-    group->personAt(38).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"KaiKerzel@smail.de_"));
-    group->personAt(39).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Maraike@FIrmaKoenig.de_"));
-    group->personAt(40).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kontakt@Lehmann-industries.de_"));
-    group->personAt(41).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Silke_Lipinski@Stadtnet.de_"));
-    group->personAt(42).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeikeUndWalter.Ernst@smail.de_"));
-    group->personAt(43).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Klaus_Meyer@smail.de_"));
-    group->personAt(44).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Support@MusikMueller.de_"));
-    group->personAt(45).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Karin.Neumann@smail.de_"));
-    group->personAt(46).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Bernd_Quäbicker@smail.de_"));
-    group->personAt(47).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieRegensburger@smail.de_"));
-    group->personAt(48).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Daphne-Schmidt@smail.de_"));
-    group->personAt(49).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Info@KaisersLaden.de_"));
-    group->personAt(50).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"ElenoreSchmidt2@smail.de_"));
-    group->personAt(51).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"TanjasEltern@smail.de_"));
-    group->personAt(52).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Schulte@SchulteGmbH-Co-KG.de_"));
-    group->personAt(53).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,""));
-    group->personAt(54).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"SchwarzWeiss@smail.de_"));
-    group->personAt(55).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Hendrik-Theissen-Sr@smail.de_"));
-    group->personAt(56).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kurt@Instrumentenbau.de_"));
-    group->personAt(57).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"S.K.Tworuschka@smail.de_"));
-    group->personAt(58).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeinkeUndKarlWedler@smail.de_"));
-    group->personAt(59).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Wellenstein@Wellenstein.net_"));
-    group->personAt(60).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Dagma.Werthmann@smail.de_"));
-    group->personAt(61).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"K@Yildiz-Industries.com_"));
-    group->personAt(62).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Beate_Anklang4@smail.de_"));
-    group->personAt(63).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieBaack@smail.de_"));
-    group->personAt(64).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Katharina_Bergmann@smail.de_"));
-    group->personAt(65).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Vorstand@Blauwies-Entertainment.de_"));
-    group->personAt(66).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Ehepaar_Boesch@smail.de_"));
-    group->personAt(67).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"DiethelmBrinkhoff@smail.de_"));
-    group->personAt(68).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kai.Christens-Lachmacher@smail.de_"));
-    group->personAt(69).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Salome-Goisern@smail.de_"));
-    group->personAt(70).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeinebergFamilie@smail.de_"));
-    group->personAt(71).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kurt@HeinerVerlag.de_"));
-    group->personAt(72).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Dorothea_Henrichs@smail.de_"));
-    group->personAt(73).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Herbstsaison@smail.de_"));
-    group->personAt(74).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"GieselaHirsch@Hirsch.de_"));
-    group->personAt(75).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,""));
-    group->personAt(76).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kathrin.Mauntz-Wirting@smail.de_"));
-    group->personAt(77).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Maurer@Hausbau.de_"));
-    group->personAt(78).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Isabell_Neuhaus@smail.de_"));
-    group->personAt(79).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Overkamp@Overkamp.de_"));
-    group->personAt(80).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"NilsUndBarbaraPaschen@smail.de_"));
-    group->personAt(81).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Schubert@Boosey-and-Klawkes.de_"));
-    group->personAt(82).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"IngoSchwarz@smail.de_"));
-    group->personAt(83).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"SE@Stalter-Verkauf.net_"));
-    group->personAt(84).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Glitzerndes@Swarovski.net_"));
-}
diff --git a/example/models/faker/createfakemodeldata.h b/example/models/faker/createfakemodeldata.h
deleted file mode 100644
index 2592288..0000000
--- a/example/models/faker/createfakemodeldata.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef CREATEFAKEMODELDATA
-#define CREATEFAKEMODELDATA
-#include "../test/group.h"
-#include "../test/person.h"
-#include "../test/address.h"
-#include "../test/contact.h"
-
-class CreateFakeModelData {
-
-public:
-    static void fillGroup(Group* group);
-
-};
-
-#endif // CREATEFAKEMODELDATA
-
diff --git a/example/models/old/group.cpp b/example/models/old/group.cpp
deleted file mode 100644
index a689c9a..0000000
--- a/example/models/old/group.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-#include "group.h"
-
-#include "models/person.h"
-#include "models/group.h"
-#include "../src/relation.h"
-//#include <QQmlListProperty>
-#include <QDebug>
-
-Group::Group() : Entity() {
-}
-
-QString Group::getName() const
-{
-    return name;
-}
-
-void Group::setName(const QString &value)
-{
-    name = value;
-}
-QSharedPointer<Teacher> Group::getTeacher() const
-{
-    return teacher;
-}
-
-void Group::setTeacher(const QSharedPointer<Teacher> &value)
-{
-    teacher = value;
-}
-QList<QSharedPointer<Pupil> > Group::getPupils() const
-{
-    return pupils;
-}
-
-void Group::setPupils(const QList<QSharedPointer<Pupil> > &value)
-{
-    pupils = value;
-}
-QList<QSharedPointer<Pupil> > Group::getClassPrefects() const
-{
-    return classPrefects;
-}
-
-void Group::setClassPrefects(const QList<QSharedPointer<Pupil> > &value)
-{
-    classPrefects = value;
-}
-QList<QSharedPointer<Person> > Group::getParentSpeakers() const
-{
-    return parentSpeakers;
-}
-
-void Group::setParentSpeakers(const QList<QSharedPointer<Person> > &value)
-{
-    parentSpeakers = value;
-}
-
-const QHash<QString, Relation> Group::getRelations() const
-{
-    auto hash = Entity::getRelations();
-    hash.insert("teacher",Relation("teacher",false,MANY_TO_ONE));
-    hash.insert("pupils",Relation("pupils",MANY_TO_MANY,QString("")));
-    hash.insert("classPrefects",Relation("classPrefects",MANY_TO_MANY,QString("")));
-    hash.insert("parentSpeakers",Relation("parentSpeakers",MANY_TO_MANY,QString("")));
-    return hash;
-}
-
-
-
-
-
-
-
-
-
diff --git a/example/models/old/group.h b/example/models/old/group.h
deleted file mode 100644
index 4ded75d..0000000
--- a/example/models/old/group.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef GROUP_H
-#define GROUP_H
-
-#include "models/person.h"
-//#include <QQmlListProperty>
-#include <QDebug>
-#include <QList>
-#include <QVariantList>
-//#include <QQuickView>
-#include <QSharedPointer>
-#include <QHash>
-#include <QString>
-#include "relation.h"
-using namespace CuteEntityManager;
-
-
-class SeatingPlan;
-class Teacher;
-class Pupil;
-class Person;
-
-class Group: public CuteEntityManager::Entity {
-    Q_OBJECT
-
-    Q_PROPERTY(QList<QSharedPointer<Pupil>> pupils READ getPupils WRITE setPupils
-               NOTIFY pupilsChanged)
-    Q_PROPERTY(QList<QSharedPointer<Pupil>> classPrefects READ getClassPrefects
-               WRITE setClassPrefects NOTIFY classPrefectsChanged)
-    Q_PROPERTY(QSharedPointer<Teacher> teacher READ getTeacher WRITE setTeacher
-               NOTIFY teacherChanged)
-    Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged)
-    Q_PROPERTY(QList<QSharedPointer<Person> > parentSpeakers READ getParentSpeakers WRITE setParentSpeakers
-               NOTIFY parentSpeakersChanged)
-
-  signals:
-    void pupilsChanged();
-    void nameChanged();
-    void teacherChanged();
-    void classPrefectsChanged();
-    void parentSpeakersChanged();
-
-  public:
-//    virtual const QHash<QString, Relation> getRelations() const;
-    Group();
-
-    QString getName() const;
-    void setName(const QString &value);
-
-    QSharedPointer<Teacher> getTeacher() const;
-    void setTeacher(const QSharedPointer<Teacher> &value);
-
-    QList<QSharedPointer<Pupil> > getPupils() const;
-    void setPupils(const QList<QSharedPointer<Pupil> > &value);
-
-    QList<QSharedPointer<Pupil> > getClassPrefects() const;
-    void setClassPrefects(const QList<QSharedPointer<Pupil> > &value);
-
-    QList<QSharedPointer<Person> > getParentSpeakers() const;
-    void setParentSpeakers(const QList<QSharedPointer<Person> > &value);
-
-  private:
-
-    QString name;
-    QSharedPointer<Teacher> teacher;
-    QList<QSharedPointer<Pupil>> pupils;
-    QList<QSharedPointer<Pupil>> classPrefects;
-    QList<QSharedPointer<Person>> parentSpeakers;
-
-
-    //    PersonListModel* m_personListModel;
-};
-#endif // GROUP_H
diff --git a/example/models/old/person.cpp b/example/models/old/person.cpp
deleted file mode 100644
index 78a940c..0000000
--- a/example/models/old/person.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include "person.h"
-
-QString Person::toString()
-{
-    return Entity::toString() + " " + this->getFirstName();
-}
-
-Person::Person(QObject *parent) : Entity(parent)
-{
-
-}
-
-Person::Person(QString firstName,
-               QString familyName,
-               Gender gender,
-               QString customPictureFileName,
-               QString namePrefix,
-               QString nickName,
-               QDate birthday,
-               QObject *parent): CuteEntityManager::Entity(parent) {
-    setFirstName(firstName);
-    setFamilyName(familyName);
-    setNamePrefix(namePrefix);
-    setNickName(nickName);
-    setBirthday(birthday);
-    setGender(gender);
-    setCustomPictureFileName(customPictureFileName);
-}
-QString Person::getCustomPictureFileName() const
-{
-    return customPictureFileName;
-}
-
-void Person::setCustomPictureFileName(const QString &value)
-{
-    customPictureFileName = value;
-}
-
-Gender Person::getGender() const
-{
-    return gender;
-}
-
-void Person::setGender(const Gender &value)
-{
-    gender = value;
-}
-QDate Person::getBirthday() const
-{
-    return birthday;
-}
-
-void Person::setBirthday(const QDate &value)
-{
-    birthday = value;
-}
-QString Person::getNickName() const
-{
-    return nickName;
-}
-
-void Person::setNickName(const QString &value)
-{
-    nickName = value;
-}
-QString Person::getNamePrefix() const
-{
-    return namePrefix;
-}
-
-void Person::setNamePrefix(const QString &value)
-{
-    namePrefix = value;
-}
-QString Person::getFamilyName() const
-{
-    return familyName;
-}
-
-void Person::setFamilyName(const QString &value)
-{
-    familyName = value;
-}
-QString Person::getFirstName() const
-{
-    return firstName;
-}
-
-void Person::setFirstName(const QString &value)
-{
-    firstName = value;
-}
-
-
-
-
-
-
-
diff --git a/example/models/old/person.h b/example/models/old/person.h
deleted file mode 100644
index e37456b..0000000
--- a/example/models/old/person.h
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QDateTime>
-#include <QString>
-#include <QList>
-#include <QObject>
-#include "../../src/entity.h"
-#include <QAbstractListModel>
-#include <QDebug>
-
-enum Gender {MALE, FEMALE, UNKNOWNGENDER};
-Q_DECLARE_METATYPE(Gender)
-class Person: public CuteEntityManager::Entity {
-
-    Q_OBJECT
-
-    //Q_ENUMS(Gender)
-    Q_PROPERTY(QString firstName READ getFirstName WRITE setFirstName NOTIFY
-               firstNameChanged)
-    Q_PROPERTY(QString familyName READ getFamilyName WRITE setFamilyName NOTIFY
-               familyNameChanged)
-    Q_PROPERTY(QString namePrefix READ getNamePrefix WRITE setNamePrefix NOTIFY
-               namePrefixChanged)
-    Q_PROPERTY(QString nickName READ getNickName WRITE setNickName NOTIFY
-               nickNameChanged)
-    Q_PROPERTY(QString customPictureFileName READ getCustomPictureFileName WRITE
-               setCustomPictureFileName NOTIFY
-               customPictureFileNameChanged)
-    Q_PROPERTY(QDate birthday READ getBirthday WRITE setBirthday NOTIFY
-               birthdayChanged)
-    Q_PROPERTY(Gender gender READ getGender WRITE setGender NOTIFY genderChanged)
-
-  signals:
-    void firstNameChanged();
-    void familyNameChanged();
-    void namePrefixChanged();
-    void nickNameChanged();
-    void birthdayChanged();
-    void genderChanged();
-    void customPictureFileNameChanged();
-
-  public:
-    QString toString();
-    Person(QObject *parent = 0);
-    Person(QString firstName,
-           QString familyName,
-           Gender gender = UNKNOWNGENDER,
-           QString customPictureFileName = QString(),
-           QString namePrefix = QString(),
-           QString nickName = QString(),
-           QDate birthday = QDate(),
-           QObject *parent = 0);
-    virtual ~Person() {}
-
-    QString getCustomPictureFileName() const;
-    void setCustomPictureFileName(const QString &value);
-
-    Gender getGender() const;
-    void setGender(const Gender &value);
-
-    QDate getBirthday() const;
-    void setBirthday(const QDate &value);
-
-    QString getNickName() const;
-    void setNickName(const QString &value);
-
-    QString getNamePrefix() const;
-    void setNamePrefix(const QString &value);
-
-    QString getFamilyName() const;
-    void setFamilyName(const QString &value);
-
-    QString getFirstName() const;
-    void setFirstName(const QString &value);
-
-  protected:
-    // members
-    QString firstName;
-    QString familyName;
-    QString namePrefix;
-    QString nickName;
-    QDate birthday;
-    Gender gender;
-    QString customPictureFileName;
-
-};
-
-#endif // PERSON_H
diff --git a/example/models/old/pupil.cpp b/example/models/old/pupil.cpp
deleted file mode 100644
index 7d2a019..0000000
--- a/example/models/old/pupil.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "pupil.h"
-
-Pupil::Pupil() : Person() {
-
-}
-QSharedPointer<Person> Pupil::getParent() const
-{
-    return parent;
-}
-
-void Pupil::setParent(const QSharedPointer<Person> &value)
-{
-    parent = value;
-}
-QString Pupil::getName() const
-{
-    return name;
-}
-
-void Pupil::setName(const QString &value)
-{
-    name = value;
-}
-
-const QHash<QString, Relation> Pupil::getRelations() const {
-    auto hash = Person::getRelations();
-    hash.insert("parent", Relation("parent", true, ONE_TO_ONE));
-    hash.insert("groups", Relation("groups", ONE_TO_MANY, "teacher"));
-    return hash;
-}
diff --git a/example/models/old/pupil.h b/example/models/old/pupil.h
deleted file mode 100644
index deaf94b..0000000
--- a/example/models/old/pupil.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef PUPIL_H
-#define PUPIL_H
-#include "person.h"
-#include "relation.h"
-using namespace CuteEntityManager;
-
-class Pupil : public Person
-{
-    Q_OBJECT
-//    Q_PROPERTY(QSharedPointer<Person> parent READ getParent WRITE setParent NOTIFY
-//               parentChanged)
-    Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged)
-signals:
-    void parentChanged();
-    void nameChanged();
-
-
-public:
-    Pupil();
-    virtual const QHash<QString, Relation> getRelations() const;
-
-
-    QSharedPointer<Person> getParent() const;
-    void setParent(const QSharedPointer<Person> &value);
-
-    QString getName() const;
-    void setName(const QString &value);
-
-private:
-    QSharedPointer<Person> parent;
-    QString name;
-};
-
-#endif // PUPIL_H
diff --git a/example/models/old/teacher.cpp b/example/models/old/teacher.cpp
deleted file mode 100644
index 743f0bc..0000000
--- a/example/models/old/teacher.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "teacher.h"
-
-Teacher::Teacher(QSharedPointer<Person> parent) : Person() {
-    this->parent = parent;
-}
-
-const QHash<QString, Relation> Teacher::getRelations() const {
-    auto hash = Person::getRelations();
-    hash.insert("parent", Relation("parent", true,ONE_TO_ONE));
-    hash.insert("groups", Relation("groups", ONE_TO_MANY, "teacher"));
-    return hash;
-}
-
-QList<QSharedPointer<Group> > Teacher::getGroups() const {
-    return groups;
-}
-
-void Teacher::setGroups(const QList<QSharedPointer<Group> > &value) {
-    groups = value;
-}
-
-QSharedPointer<Person> Teacher::getParent() const {
-    return parent;
-}
-
-void Teacher::setParent(const QSharedPointer<Person> &value) {
-    parent = value;
-}
-
-
-
diff --git a/example/models/old/teacher.h b/example/models/old/teacher.h
deleted file mode 100644
index a397ec7..0000000
--- a/example/models/old/teacher.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef TEACHER_H
-#define TEACHER_H
-#include "person.h"
-#include "relation.h"
-using namespace CuteEntityManager;
-class Group;
-
-class Teacher : public Person {
-    Q_OBJECT
-    Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups
-               NOTIFY groupsChanged)
-    Q_PROPERTY(QSharedPointer<Person> parent READ getParent WRITE setParent NOTIFY
-               parentChanged)
-  signals:
-    void groupsChanged();
-    void parentChanged();
-
-  public:
-    Teacher(QSharedPointer<Person> parent);
-    virtual const QHash<QString, Relation> getRelations() const;
-    QList<QSharedPointer<Group> > getGroups() const;
-    void setGroups(const QList<QSharedPointer<Group> > &value);
-
-    QSharedPointer<Person> getParent() const;
-    void setParent(const QSharedPointer<Person> &value);
-
-  private:
-    QList<QSharedPointer<Group>> groups;
-    QSharedPointer<Person> parent;
-};
-
-#endif // TEACHER_H
diff --git a/example/models/test/address.cpp b/example/models/test/address.cpp
deleted file mode 100644
index dec4d80..0000000
--- a/example/models/test/address.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "address.h"
-
-Address::Address(QString label, QString street, QString postcode, QString city) {
-    m_label=label;
-    m_street=street;
-    m_postcode=postcode;
-    m_city=city;
-}
-QString Address::label() const
-{
-    return m_label;
-}
-
-void Address::setLabel(const QString &label)
-{
-    m_label = label;
-}
-QString Address::street() const
-{
-    return m_street;
-}
-
-void Address::setStreet(const QString &street)
-{
-    m_street = street;
-}
-QString Address::postcode() const
-{
-    return m_postcode;
-}
-
-void Address::setPostcode(const QString &postcode)
-{
-    m_postcode = postcode;
-}
-QString Address::city() const
-{
-    return m_city;
-}
-
-void Address::setCity(const QString &city)
-{
-    m_city = city;
-}
-
-
-
-
-
diff --git a/example/models/test/address.h b/example/models/test/address.h
deleted file mode 100644
index 3033579..0000000
--- a/example/models/test/address.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef ADDRESS_H
-#define ADDRESS_H
-
-#include <QString>
-//#iclude "../../em/entitymanager/src/entity.h"
-#include "entity.h"
-
-class Address: public CuteEntityManager::Entity
-{
-    Q_OBJECT
-
-    Q_PROPERTY(QString label READ label WRITE setLabel)
-    Q_PROPERTY(QString street READ street WRITE setStreet)
-    Q_PROPERTY(QString postcode READ postcode WRITE setPostcode)
-    Q_PROPERTY(QString city READ city WRITE setCity)
-
-public:
-    Q_INVOKABLE Address() {}
-    Address(QString label, QString street, QString postcode, QString city);
-
-    QString label() const;
-    void setLabel(const QString &label);
-
-    QString street() const;
-    void setStreet(const QString &street);
-
-    QString postcode() const;
-    void setPostcode(const QString &postcode);
-
-    QString city() const;
-    void setCity(const QString &city);
-
-protected:
-    // members
-    QString m_label;
-    QString m_street;
-    QString m_postcode;
-    QString m_city;
-};
-
-#endif // ADDRESS_H
diff --git a/example/models/test/contact.cpp b/example/models/test/contact.cpp
deleted file mode 100644
index 3957718..0000000
--- a/example/models/test/contact.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "contact.h"
-
-Contact::Contact(QString label, ContactCategory category, QString content) {
-    m_label=label;
-    m_category=category;
-    m_content=content;
-}
-
diff --git a/example/models/test/contact.h b/example/models/test/contact.h
deleted file mode 100644
index 5fd0d24..0000000
--- a/example/models/test/contact.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef CONTACT_H
-#define CONTACT_H
-
-#include <QString>
-#include "entity.h"
-#include "enums.h"
-
-class Contact: public CuteEntityManager::Entity
-{
-    Q_OBJECT
-
-    Q_PROPERTY(QString content READ content WRITE setContent)
-    Q_PROPERTY(ContactCategory category READ category WRITE setCategory)
-    Q_PROPERTY(QString label READ label WRITE setLabel)
-
-public:
-    Q_INVOKABLE Contact() {}
-    Contact(QString label, ContactCategory category, QString content);
-    // getters
-    QString content() {return m_content;}
-    ContactCategory category() {return m_category;}
-    QString label() {return m_label;}
-
-
-    // setters
-    void setContent(QString content) {m_content=content;}
-    void setCategory(ContactCategory category) {m_category=category;}
-    void setLabel(QString label) {m_label=label;}
-
-protected:
-    // members
-    QString m_content;
-    ContactCategory m_category;
-    QString m_label;
-};
-
-#endif // CONTACT_H
diff --git a/example/models/test/enums.h b/example/models/test/enums.h
deleted file mode 100644
index 37afb0f..0000000
--- a/example/models/test/enums.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef ENUMS_H
-#define ENUMS_H
-
-enum ContactCategory {EMAIL_CONTACT,MOBILE_CONTACT,LANDLINE_CONTACT,MESSENGER_CONTACT,EXTRA1_CONTACT,EXTRA2_CONTACT,EXTRA3_CONTACT,EXTRA4_CONTACT,EXTRA5_CONTACT,EXTRA6_CONTACT} ;
-enum Orientation {LANDSCAPE_ORIENTATION,PORTRAIT_ORIENTATION,LANDSCAPE_180_ORIENTATION,PORTRAIT_180_ORIENTATION};
-enum NameOrder {FIRST_FAMILY_NAME_ORDER,FAMILY_FIRST_NAME_ORDER};
-enum DataFieldPosition {TOP_LEFT_DATA=0, TOP_DATA=1, TOP_RIGHT_DATA=2, UPPER_LEFT_DATA=3, UPPER_DATA=4, UPPER_RIGHT_DATA=5, LOWER_LEFT_DATA=6, LOWER_DATA=7, LOWER_RIGHT_DATA=8, BOTTOM_LEFT_DATA=9, BOTTOM_DATA=10, BOTTOM_RIGHT_DATA=11,CENTER_DATA=12};
-enum IconPosition {TOP_LEFT_ICON,TOP_RIGHT_ICON,BOTTOM_LEFT_ICON,BOTTOM_RIGHT_ICON,CENTER_ICON,TOP_ICON,BOTTOM_ICON,LEFT_ICON,RIGHT_ICON};
-enum ShadowPosition {TOP_LEFT_SHADOW,TOP_RIGHT_SHADOW,BOTTOM_LEFT_SHADOW,BOTTOM_RIGHT_SHADOW,INVALID_SHADOW};
-
-
-#endif // ENUMS_H
diff --git a/example/models/test/group.cpp b/example/models/test/group.cpp
deleted file mode 100644
index 7d5e2d9..0000000
--- a/example/models/test/group.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#include "group.h"
-
-#include "enums.h"
-
-#include "person.h"
-#include "group.h"
-#include "contact.h"
-#include <QDebug>
-
-Group::Group() : Entity()
-{
-    //connect(this,SIGNAL(personsChanged()),this,SLOT(personChangedSlot()));
-//    m_persons.append(new Person("Vera","Geseke",Person::FEMALE,"Vera Geseke.jpg","","",QDate::currentDate()));
-//    m_persons.append(new Person("Harry","Hirsch",Person::MALE));
-//    m_persons.append(new Person("Sibylle","Mentzel",Person::FEMALE,"Sibylle Mentzel.jpg","","",QDate::currentDate()));
-
-}
-
-const QHash<QString, CuteEntityManager::Relation> Group::getRelations() const
-{
-        auto hash = QHash<QString, CuteEntityManager::Relation>();
-        hash.insert("persons",CuteEntityManager::Relation("persons",MANY_TO_MANY,QString("")));
-        return hash;
-}
-
-QList<QSharedPointer<Person> > Group::persons() const
-{
-    return m_persons;
-}
-
-void Group::setPersons(const QList<QSharedPointer<Person> > &persons)
-{
-    m_persons = persons;
-}
-
-
-/*void Group::personChangedSlot()
-{
-}
-
-QQmlListProperty <Person> Group::persons()
-{
-    return QQmlListProperty<Person>(this,0, &appendPerson,&personsCount,&personAt,&personsClear);
-}
-
-
-void Group::appendPerson(QQmlListProperty<Person> *list, Person *p) {
-    Group *group = qobject_cast<Group*>(list->object);
-    if(group && p) {
-        group->addPerson(p);
-        emit group->personsChanged();
-    }
-}
-
-int Group::personsCount(QQmlListProperty<Person>*list)
-{
-    Group *group = qobject_cast<Group*>(list->object);
-    if (group)
-        return group->m_persons.count();
-    return 0;
-}
-
-Person* Group::personAt(QQmlListProperty<Person> *list, int i)
-{
-    Group *group = qobject_cast<Group*>(list->object);
-    if (group)
-        return group->m_persons.at(i);
-    return 0;
-}
-Person* Group::personAt(int i)
-{
-    return this->m_persons.at(i);
-}
-
-void Group::personsClear(QQmlListProperty<Person> *list)
-{
-    Group *group = qobject_cast<Group*>(list->object);
-    if (group) {
-        group->m_persons.clear();
-        emit group->personsChanged();
-    }
-}
-*/
-
-
diff --git a/example/models/test/group.h b/example/models/test/group.h
deleted file mode 100644
index 59b5c45..0000000
--- a/example/models/test/group.h
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef GROUP_H
-#define GROUP_H
-
-#include "enums.h"
-#include "entity.h"
-#include "person.h"
-#include "contact.h"
-#include <QDebug>
-//#include <QQuickView>
-
-
-
-class Teacher;
-class Person;
-class Relation;
-using namespace CuteEntityManager;
-
-class Group: public CuteEntityManager::Entity
-{
-    Q_OBJECT
-    Q_PROPERTY(QList<QSharedPointer<Person> > persons READ persons)
-
-public:
-    Q_INVOKABLE Group();
-
-    virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const;
-
-    QList<QSharedPointer<Person> > persons() const;
-    void setPersons(const QList<QSharedPointer<Person> > &persons);
-    QSharedPointer<Person> personAt(int i) { return m_persons.at(i); }
-    void addPerson(Person *p) {m_persons.append(QSharedPointer<Person>(p));}
-
-    /*
-    // getters
-    QQmlListProperty <Person> persons();
-
-
-
-    static void appendPerson(QQmlListProperty<Person> *list, Person *p);
-    static int personsCount(QQmlListProperty<Person>*list);
-    int personsCount() { return m_persons.count(); }
-    static Person* personAt(QQmlListProperty<Person> *list, int i);
-
-    static void personsClear(QQmlListProperty<Person> *list);
-
-    // setters
-    void setPersons(QList<Person*> persons) {m_persons = persons;}
-    void removePerson(Person *p) {m_persons.removeOne(p);}
-
-*/
-
-
-    //    QList <SeatingPlan*> seatingPlans() {return m_seatingPlans;}
-    //    QList <Teacher*> teachers() {return m_teachers;}
-    //    QList <Person*> classPrefects() {return m_classPrefects;}
-    //    QList <Person*> parentSpeakers() {return m_parentSpeakers;}
-
-
-
-    //    void addSeatingPlan(SeatingPlan *s) {m_seatingPlans.append(s);}
-    //    void removeSeatingPlan(SeatingPlan *s) {m_seatingPlans.removeOne(s);}
-    //    void addTeacher(Teacher* t) {m_teachers.append(t);}
-    //    void removeTeacher(Teacher* t) {m_teachers.removeOne(t);}
-    //    void addClassPrefect(Person* p) {m_classPrefects.append(p);}
-    //    void removeClassPrefect(Person* p) {m_classPrefects.removeOne(p);}
-    //    void addParentSpeaker(Person* p) {m_parentSpeakers.append(p);}
-    //    void removeParentSpeaker(Person* p) {m_parentSpeakers.removeOne(p);}
-
-
-
-
-
-protected:
-    // members
-    QList<QSharedPointer<Person> > m_persons;
-
-    //     QList <SeatingPlan*> m_seatingPlans;
-//     QList <Teacher*> m_teachers;
-//    QList <Person*> m_classPrefects;
-//    QList <Person*> m_parentSpeakers;
-
-};
-
-#endif // GROUP_H
diff --git a/example/models/test/person.cpp b/example/models/test/person.cpp
deleted file mode 100644
index 3ab9290..0000000
--- a/example/models/test/person.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "person.h"
-
-Person::Person(QObject *parent): Entity(parent)
-{
-}
-Person::Person(QString firstName,
-                QString familyName,
-                Gender gender,
-                QString customPictureFileName,
-                QString namePrefix,
-                QString nickName,
-                QDate birthday,
-                QObject *parent):Entity(parent)
-{
-    setFirstName(firstName);
-    setFamilyName(familyName);
-    setNamePrefix(namePrefix);
-    setNickName(nickName);
-    setBirthday(birthday);
-    setGender(gender);
-    setCustomPictureFileName(customPictureFileName);
-}
-
-const QHash<QString, CuteEntityManager::Relation> Person::getRelations() const
-{
-    auto hash = QHash<QString, CuteEntityManager::Relation>();
-    hash.insert("groups",CuteEntityManager::Relation("groups",MANY_TO_MANY,QString("persons")));
-    return hash;
-}
-
-QString Person::fullName(NameOrder nameOrder) const {
-    QString name=QString();
-    if (nameOrder==FAMILY_FIRST_NAME_ORDER) {
-        name+=this->familyName();
-        name+=", ";
-        if (!this->namePrefix().isEmpty()) {
-            name+=this->namePrefix();
-            name+=" ";
-        }
-        name+=this->firstName();
-    } else {
-        name+=this->firstName();
-        name+=" ";
-        name+=this->familyName();
-        if (!this->namePrefix().isEmpty()) {
-            name+=", ";
-            name+=this->namePrefix();
-        }
-    }
-    return name;
-}
-QList<QSharedPointer<Group> > Person::groups() const
-{
-    return m_groups;
-}
-
-void Person::setGroups(const QList<QSharedPointer<Group> > &groups)
-{
-    m_groups = groups;
-}
-QList<QSharedPointer<Address> > Person::addresses() const
-{
-    return m_addresses;
-}
-
-void Person::setAddresses(const QList<QSharedPointer<Address> > &addresses)
-{
-    m_addresses = addresses;
-}
-QList<QSharedPointer<Contact> > Person::contacts() const
-{
-    return m_contacts;
-}
-
-void Person::setContacts(const QList<QSharedPointer<Contact> > &contacts)
-{
-    m_contacts = contacts;
-}
-
-
-
-
diff --git a/example/models/test/person.h b/example/models/test/person.h
deleted file mode 100644
index 236429c..0000000
--- a/example/models/test/person.h
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QDateTime>
-#include <QString>
-#include <QList>
-#include <QObject>
-#include "group.h"
-#include "contact.h"
-#include "address.h"
-#include <QAbstractListModel>
-#include <QDebug>
-#include "../../entitymanager/src/entity.h"
-
-using namespace CuteEntityManager;
-class Group;
-class Person: public Entity
-{
-
-    Q_OBJECT
-    Q_ENUMS(Gender)
-
-    //[1] We don't want the id to be set from QML
-    //[2] Notification via inherited signals is not allowed
-//    Q_PROPERTY(int personId READ entityId /*[1]WRITE setId [2]NOTIFY idChanged*/)
-    Q_PROPERTY(QString firstName READ firstName WRITE setFirstName NOTIFY firstNameChanged)
-    Q_PROPERTY(QString familyName READ familyName WRITE setFamilyName NOTIFY familyNameChanged)
-    Q_PROPERTY(QString namePrefix READ namePrefix WRITE setNamePrefix NOTIFY namePrefixChanged)
-    Q_PROPERTY(QString nickName READ nickName WRITE setNickName NOTIFY nickNameChanged)
-    Q_PROPERTY(QString customPictureFileName READ customPictureFileName WRITE setCustomPictureFileName NOTIFY customPictureFileNameChanged)
-    Q_PROPERTY(QDate birthday READ birthday WRITE setBirthday NOTIFY birthdayChanged)
-    Q_PROPERTY(Gender gender READ gender WRITE setGender NOTIFY genderChanged)
-    Q_PROPERTY(QList<QSharedPointer<Group>> groups READ groups WRITE setGroups)
-
-
-
-signals:
-    void firstNameChanged();
-    void familyNameChanged();
-    void namePrefixChanged();
-    void nickNameChanged();
-    void birthdayChanged();
-    void genderChanged();
-    void customPictureFileNameChanged();
-    void formChanged();
-
-public slots:
-    void testSlot(){qDebug()<<"testslot clicked";}
-
-public:
-    enum Gender {MALE,FEMALE,UNKNOWNGENDER};
-
-    Q_INVOKABLE explicit Person(QObject *parent = 0);
-    Person(QString firstName,
-           QString familyName,
-           Gender gender = Person::UNKNOWNGENDER,
-           QString customPictureFileName = QString(),
-           QString namePrefix = QString(),
-           QString nickName = QString(),
-           QDate birthday = QDate(),
-           QObject *parent = 0);
-
-    virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const;
-
-    bool isPresent(QDateTime date=QDateTime::currentDateTime());
-    QString fullName(NameOrder nameOrder=FAMILY_FIRST_NAME_ORDER) const;
-
-    // getters
-    QString firstName() const {return m_firstName;}
-    QString familyName() const {return m_familyName;}
-    QString namePrefix() const {return m_namePrefix;}
-    QString nickName() const {return m_nickName;}
-
-    QDate birthday() const {return m_birthday;}
-    Gender gender() const {return m_gender;}
-    QString customPictureFileName() const {return m_customPictureFileName;}
-
-
-    // setters
-    void setFirstName(QString firstName) {m_firstName=firstName; emit firstNameChanged();}
-    void setFamilyName(QString familyName) {m_familyName=familyName; emit familyNameChanged();}
-    void setNamePrefix(QString namePrefix) {m_namePrefix=namePrefix; emit namePrefixChanged();}
-    void setNickName(QString nickName) {m_nickName=nickName; emit nickNameChanged();}
-    void addGroup(Group *group) {m_groups.append(QSharedPointer<Group>(group));}
-    //void removeGroup(Group *group) {m_groups.removeOne(group);}
-    void setBirthday(QDate birthday) {m_birthday=birthday; emit birthdayChanged();}
-    void setGender(Gender gender) {m_gender=gender; emit genderChanged();}
-    void setCustomPictureFileName(QString fileName) {m_customPictureFileName=fileName; emit customPictureFileNameChanged();}
-    void addContact(Contact* contact) {m_contacts.append(QSharedPointer<Contact>(contact));}
-    //void removeContact(Contact* contact) {m_contacts.removeOne(contact);}
-    void addAddress(Address* address) {m_addresses.append(QSharedPointer<Address>(address));}
-    //void removeAddress(Address* address) {m_addresses.removeOne(address);}
-
-
-
-    QList<QSharedPointer<Group> > groups() const;
-    void setGroups(const QList<QSharedPointer<Group> > &groups);
-
-    QList<QSharedPointer<Address> > addresses() const;
-    void setAddresses(const QList<QSharedPointer<Address> > &addresses);
-
-    QList<QSharedPointer<Contact> > contacts() const;
-    void setContacts(const QList<QSharedPointer<Contact> > &contacts);
-
-protected:
-    // members
-    QString m_firstName;
-    QString m_familyName;
-    QString m_namePrefix;
-    QString m_nickName;
-    QDate m_birthday;
-    Gender m_gender;
-    QString m_customPictureFileName;
-    QList <QSharedPointer<Contact>> m_contacts;
-    QList <QSharedPointer<Address>> m_addresses;
-
-    QList<QSharedPointer<Group>> m_groups;
-
-
-
-};
-
-
-#endif // PERSON_H
diff --git a/example/models/test/pupil.cpp b/example/models/test/pupil.cpp
deleted file mode 100644
index 50f8530..0000000
--- a/example/models/test/pupil.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "pupil.h"
-#include <QString>
-#include "person.h"
-
-Pupil::Pupil()
-    :Person()
-{
-
-}
-
-Pupil::Pupil(
-        QString firstName,
-        QString familyName,
-        Gender gender,
-        QString customPictureFileName,
-        QString namePrefix,
-        QString nickName,
-        QDate birthday,
-        QString form,
-        QObject *parent)
-    :Person(firstName,familyName,gender,customPictureFileName,namePrefix,nickName, birthday,parent)
-{
-    setFirstName(firstName);
-    setFamilyName(familyName);
-    setNamePrefix(namePrefix);
-    setNickName(nickName);
-    setBirthday(birthday);
-    setGender(gender);
-    setCustomPictureFileName(customPictureFileName);
-    setForm(form);
-}
diff --git a/example/models/test/pupil.h b/example/models/test/pupil.h
deleted file mode 100644
index 3eb1b7f..0000000
--- a/example/models/test/pupil.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef PUPIL_H
-#define PUPIL_H
-
-#include "person.h"
-
-class Pupil : public Person
-{
-public:
-    Pupil();
-    Pupil(QString firstName,
-          QString familyName,
-          Gender gender = Person::UNKNOWNGENDER,
-          QString customPictureFileName = QString(),
-          QString namePrefix = QString(),
-          QString nickName = QString(),
-          QDate birthday = QDate(),
-          QString form = QString(),
-          QObject *parent = 0);
-
-    QString form() const { return m_form; }
-
-    void setForm(QString form) { m_form = form; }
-
-protected:
-    QString m_form;
-
-};
-
-#endif // PUPIL_H
diff --git a/samples/example/Example.pro b/samples/example/Example.pro
new file mode 100644
index 0000000..4445dcd
--- /dev/null
+++ b/samples/example/Example.pro
@@ -0,0 +1,45 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2013-08-01T15:03:24
+#
+#-------------------------------------------------
+
+QT       += core
+QT       += sql
+
+QT       -= gui
+
+#TARGET = EntityManager
+CONFIG   += console
+CONFIG   -= app_bundle
+
+TEMPLATE = app
+
+HEADERS += \
+    models/person.h \
+    models/group.h \
+    models/pupil.h \
+    models/address.h \
+    models/contact.h \
+    models/faker/createfakemodeldata.h \
+    models/enums.h \
+
+SOURCES += \
+    main.cpp \
+    models/person.cpp \
+    models/group.cpp \
+    models/pupil.cpp \
+    models/address.cpp \
+    models/contact.cpp \
+    models/faker/createfakemodeldata.cpp
+
+unix:!macx: LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug -lCuteEntityManager
+unix:INCLUDEPATH += $$PWD/../../src
+unix:DEPENDPATH += $$PWD/../../src
+CONFIG += c++14
+
+win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/release/ -lCuteEntityManager
+else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug/ -lCuteEntityManager
+
+win32:INCLUDEPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
+win32:DEPENDPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
diff --git a/samples/example/main.cpp b/samples/example/main.cpp
new file mode 100644
index 0000000..ce7425d
--- /dev/null
+++ b/samples/example/main.cpp
@@ -0,0 +1,45 @@
+#include <QCoreApplication>
+#include <QDir>
+#include <QDebug>
+#include <QThread>
+#include "../src/entity.h"
+#include "../src/entitymanager.h"
+#include "../src/relation.h"
+#include "entityinstancefactory.h"
+#include "models/pupil.h"
+#include "models/address.h"
+#include "models/contact.h"
+#include "models/group.h"
+#include "models/faker/createfakemodeldata.h"
+/**
+  * create,remove und merge funktionieren
+ */
+using namespace CuteEntityManager;
+int main(int argc, char *argv[]) {
+    Q_UNUSED(argc) Q_UNUSED(argv)
+    QTime t;
+    t.start();
+    CuteEntityManager::EntityManager *e = new
+    CuteEntityManager::EntityManager("QSQLITE",
+                                     QDir::currentPath() + "/db.sqlite");
+    EntityInstanceFactory::registerClass<Group>();
+    EntityInstanceFactory::registerClass<Person>();
+    EntityInstanceFactory::registerClass<Pupil>();
+    EntityInstanceFactory::registerClass<Contact>();
+    EntityInstanceFactory::registerClass<Address>();
+    QThread *entityManager = new QThread();
+    e->moveToThread(entityManager);
+    QStringList inits = QStringList() << "Contact" << "Address" << "Person" << "Pupil" << "Group";
+    e->startup("0.1",inits);
+
+    QSharedPointer<CuteEntityManager::Entity> p = QSharedPointer<CuteEntityManager::Entity>(new Person("Max", "Mustermann", MALE, "", "", "",
+                               QDate::currentDate()));
+    Group *g = new Group();
+    CreateFakeModelData::fillGroup(g);
+    QSharedPointer<Group> gPtr = QSharedPointer<Group>(g);
+    e->createTable(gPtr);
+    auto prrr = gPtr.objectCast<Entity>();
+    e->create(prrr);
+    qDebug() << "Duration:" << t.elapsed();
+    return 0;
+}
diff --git a/samples/example/models/address.cpp b/samples/example/models/address.cpp
new file mode 100644
index 0000000..dec4d80
--- /dev/null
+++ b/samples/example/models/address.cpp
@@ -0,0 +1,49 @@
+#include "address.h"
+
+Address::Address(QString label, QString street, QString postcode, QString city) {
+    m_label=label;
+    m_street=street;
+    m_postcode=postcode;
+    m_city=city;
+}
+QString Address::label() const
+{
+    return m_label;
+}
+
+void Address::setLabel(const QString &label)
+{
+    m_label = label;
+}
+QString Address::street() const
+{
+    return m_street;
+}
+
+void Address::setStreet(const QString &street)
+{
+    m_street = street;
+}
+QString Address::postcode() const
+{
+    return m_postcode;
+}
+
+void Address::setPostcode(const QString &postcode)
+{
+    m_postcode = postcode;
+}
+QString Address::city() const
+{
+    return m_city;
+}
+
+void Address::setCity(const QString &city)
+{
+    m_city = city;
+}
+
+
+
+
+
diff --git a/samples/example/models/address.h b/samples/example/models/address.h
new file mode 100644
index 0000000..3033579
--- /dev/null
+++ b/samples/example/models/address.h
@@ -0,0 +1,41 @@
+#ifndef ADDRESS_H
+#define ADDRESS_H
+
+#include <QString>
+//#iclude "../../em/entitymanager/src/entity.h"
+#include "entity.h"
+
+class Address: public CuteEntityManager::Entity
+{
+    Q_OBJECT
+
+    Q_PROPERTY(QString label READ label WRITE setLabel)
+    Q_PROPERTY(QString street READ street WRITE setStreet)
+    Q_PROPERTY(QString postcode READ postcode WRITE setPostcode)
+    Q_PROPERTY(QString city READ city WRITE setCity)
+
+public:
+    Q_INVOKABLE Address() {}
+    Address(QString label, QString street, QString postcode, QString city);
+
+    QString label() const;
+    void setLabel(const QString &label);
+
+    QString street() const;
+    void setStreet(const QString &street);
+
+    QString postcode() const;
+    void setPostcode(const QString &postcode);
+
+    QString city() const;
+    void setCity(const QString &city);
+
+protected:
+    // members
+    QString m_label;
+    QString m_street;
+    QString m_postcode;
+    QString m_city;
+};
+
+#endif // ADDRESS_H
diff --git a/samples/example/models/contact.cpp b/samples/example/models/contact.cpp
new file mode 100644
index 0000000..3957718
--- /dev/null
+++ b/samples/example/models/contact.cpp
@@ -0,0 +1,8 @@
+#include "contact.h"
+
+Contact::Contact(QString label, ContactCategory category, QString content) {
+    m_label=label;
+    m_category=category;
+    m_content=content;
+}
+
diff --git a/samples/example/models/contact.h b/samples/example/models/contact.h
new file mode 100644
index 0000000..5fd0d24
--- /dev/null
+++ b/samples/example/models/contact.h
@@ -0,0 +1,37 @@
+#ifndef CONTACT_H
+#define CONTACT_H
+
+#include <QString>
+#include "entity.h"
+#include "enums.h"
+
+class Contact: public CuteEntityManager::Entity
+{
+    Q_OBJECT
+
+    Q_PROPERTY(QString content READ content WRITE setContent)
+    Q_PROPERTY(ContactCategory category READ category WRITE setCategory)
+    Q_PROPERTY(QString label READ label WRITE setLabel)
+
+public:
+    Q_INVOKABLE Contact() {}
+    Contact(QString label, ContactCategory category, QString content);
+    // getters
+    QString content() {return m_content;}
+    ContactCategory category() {return m_category;}
+    QString label() {return m_label;}
+
+
+    // setters
+    void setContent(QString content) {m_content=content;}
+    void setCategory(ContactCategory category) {m_category=category;}
+    void setLabel(QString label) {m_label=label;}
+
+protected:
+    // members
+    QString m_content;
+    ContactCategory m_category;
+    QString m_label;
+};
+
+#endif // CONTACT_H
diff --git a/samples/example/models/enums.h b/samples/example/models/enums.h
new file mode 100644
index 0000000..37afb0f
--- /dev/null
+++ b/samples/example/models/enums.h
@@ -0,0 +1,12 @@
+#ifndef ENUMS_H
+#define ENUMS_H
+
+enum ContactCategory {EMAIL_CONTACT,MOBILE_CONTACT,LANDLINE_CONTACT,MESSENGER_CONTACT,EXTRA1_CONTACT,EXTRA2_CONTACT,EXTRA3_CONTACT,EXTRA4_CONTACT,EXTRA5_CONTACT,EXTRA6_CONTACT} ;
+enum Orientation {LANDSCAPE_ORIENTATION,PORTRAIT_ORIENTATION,LANDSCAPE_180_ORIENTATION,PORTRAIT_180_ORIENTATION};
+enum NameOrder {FIRST_FAMILY_NAME_ORDER,FAMILY_FIRST_NAME_ORDER};
+enum DataFieldPosition {TOP_LEFT_DATA=0, TOP_DATA=1, TOP_RIGHT_DATA=2, UPPER_LEFT_DATA=3, UPPER_DATA=4, UPPER_RIGHT_DATA=5, LOWER_LEFT_DATA=6, LOWER_DATA=7, LOWER_RIGHT_DATA=8, BOTTOM_LEFT_DATA=9, BOTTOM_DATA=10, BOTTOM_RIGHT_DATA=11,CENTER_DATA=12};
+enum IconPosition {TOP_LEFT_ICON,TOP_RIGHT_ICON,BOTTOM_LEFT_ICON,BOTTOM_RIGHT_ICON,CENTER_ICON,TOP_ICON,BOTTOM_ICON,LEFT_ICON,RIGHT_ICON};
+enum ShadowPosition {TOP_LEFT_SHADOW,TOP_RIGHT_SHADOW,BOTTOM_LEFT_SHADOW,BOTTOM_RIGHT_SHADOW,INVALID_SHADOW};
+
+
+#endif // ENUMS_H
diff --git a/samples/example/models/faker/createfakemodeldata.cpp b/samples/example/models/faker/createfakemodeldata.cpp
new file mode 100644
index 0000000..a5b7dcb
--- /dev/null
+++ b/samples/example/models/faker/createfakemodeldata.cpp
@@ -0,0 +1,528 @@
+#include "createfakemodeldata.h"
+#include "../person.h"
+#include "../pupil.h"
+#include "../address.h"
+#include "../contact.h"
+#include "../group.h"
+
+void CreateFakeModelData::fillGroup(Group* group) {
+    group->addPupil(new Pupil("Tim","Berg",MALE,"Tim Berg.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
+    group->addPupil(new Pupil("Lena","Conrad",FEMALE,"Lena Conrad.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
+    group->addPupil(new Pupil("Marcel","Dunst",MALE,"Marcel Dunst.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
+    group->addPupil(new Pupil("Carsten","Ernst",MALE,"Carsten Ernst.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
+    group->addPupil(new Pupil("Hannah","Eschborn",FEMALE,"Hannah Eschborn.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
+    group->addPupil(new Pupil("Vera","Geseke",FEMALE,"Vera Geseke.jpg",QString(),QString(),QDate(2000,4,1),"05c",0));
+    group->addPupil(new Pupil("Jann","Hagedorn",MALE,"Jann Hagedorn.jpg",QString(),QString(),QDate(2000,8,16),"05c",0));
+    group->addPupil(new Pupil("Svenja","Hartmann",FEMALE,"Svenja Hartmann.jpg",QString(),QString(),QDate(2000,2,2),"05c",0));
+    group->addPupil(new Pupil("Timo","Haufer",MALE,"Timo Haufer.jpg",QString(),QString(),QDate(2000,2,28),"05c",0));
+    group->addPupil(new Pupil("Birthe","Jäger",FEMALE,"Birthe Jaeger.jpg",QString(),QString(),QDate(2000,2,14),"05c",0));
+    group->addPupil(new Pupil("Torben","Kadatz",MALE,"Torben Kadatz.jpg",QString(),QString(),QDate(2000,2,11),"05c",0));
+    group->addPupil(new Pupil("Julia","Kaiser",FEMALE,"Julia Kaiser.jpg",QString(),QString(),QDate(2000,10,23),"05c",0));
+    group->addPupil(new Pupil("Nadine","Kersting",FEMALE,"Nadine Kersting.jpg",QString(),QString(),QDate(2000,2,1),"05c",0));
+    group->addPupil(new Pupil("Friederike","Kerzel",FEMALE,"Friederike Kerzel.jpg",QString(),QString(),QDate(2000,8,12),"05c",0));
+    group->addPupil(new Pupil("Miriam","Köller",FEMALE,"Miriam Koeller.jpg",QString(),QString(),QDate(2000,6,27),"05c",0));
+    group->addPupil(new Pupil("Mara","Langenberg",FEMALE,"Mara Langenberg.jpg",QString(),QString(),QDate(2000,7,14),"05c",0));
+    group->addPupil(new Pupil("Stefan","Maier",MALE,"Stefan Maier.jpg",QString(),QString(),QDate(2000,3,26),"05c",0));
+    group->addPupil(new Pupil("Dana","Meerkat",FEMALE,"Dana Meerkat.jpg",QString(),QString(),QDate(2000,3,10),"05c",0));
+    group->addPupil(new Pupil("Sibylle","Mentzel",FEMALE,"Sibylle Mentzel.jpg",QString(),QString(),QDate(2001,4,26),"05c",0));
+    group->addPupil(new Pupil("Steffen","Niecke",MALE,"Steffen Niecke.jpg",QString(),QString(),QDate(2000,3,2),"05c",0));
+    group->addPupil(new Pupil("Murat","Öztürk",MALE,"Murat Oeztuerk.jpg",QString(),QString(),QDate(2000,10,27),"05c",0));
+    group->addPupil(new Pupil("Marie","Pieczonka",FEMALE,"Marie Pieczonka.jpg",QString(),QString(),QDate(2000,2,12),"05c",0));
+    group->addPupil(new Pupil("Pit","Reining",MALE,"Pit Reining.jpg",QString(),QString(),QDate(2000,7,20),"05c",0));
+    group->addPupil(new Pupil("Alexander","Richter",MALE,"Alexander Richter .jpg",QString(),QString(),QDate(2001,4,14),"05c",0));
+    group->addPupil(new Pupil("Sina","Schneemann",FEMALE,"Sina Schneemann.jpg",QString(),QString(),QDate(2000,9,2),"05c",0));
+    group->addPupil(new Pupil("Anne","Seweringsbeck",FEMALE,"Anne Seweringsbeck.jpg",QString(),QString(),QDate(1999,11,23),"05c",0));
+    group->addPupil(new Pupil("Benedikt","Terstelen",MALE,"Benedikt Terstelen.jpg",QString(),QString(),QDate(2000,1,6),"05c",0));
+    group->addPupil(new Pupil("Felix","Van Ophoven",MALE,"Felix van Ophoven .jpg",QString(),QString(),QDate(1999,11,21),"05c",0));
+    group->addPupil(new Pupil("Heike","Vierseneck",FEMALE,"Heike Vierseneck.jpg",QString(),QString(),QDate(2000,3,13),"05c",0));
+    group->addPupil(new Pupil("Beatrix","Weber",FEMALE,"Beatrix Weber.jpg",QString(),QString(),QDate(2000,6,9),"05c",0));
+    group->addPupil(new Pupil("Thomas","Weber",MALE,"Thomas Weber.jpg",QString(),QString(),QDate(1999,12,20),"05c",0));
+    group->addPupil(new Pupil("Anna","Webern",FEMALE,"Anna Webern.jpg",QString(),QString(),QDate(2000,12,7),"05c",0));
+    group->addPupil(new Pupil("Lara","Bachmann",FEMALE,"Lara Bachmann.jpg",QString(),QString(),QDate(2000,3,8),"08a",0));
+    group->addPupil(new Pupil("Sandra","Böhmer",FEMALE,"_Sandra Boehmer.jpg",QString(),QString(),QDate(2000,3,22),"08a",0));
+    group->addPupil(new Pupil("Britta","Eschweger",FEMALE,"Britta Eschweger.jpg",QString(),QString(),QDate(2000,7,10),"08a",0));
+    group->addPupil(new Pupil("Annike","Gosekamp",FEMALE,"_Annike Gosekamp.jpg",QString(),QString(),QDate(2000,7,28),"08a",0));
+    group->addPupil(new Pupil("Katharina","Haarmann",FEMALE,"Katharina Haarmann.jpg",QString(),QString(),QDate(2000,3,8),"08a",0));
+    group->addPupil(new Pupil("Sebastian","Hohage",MALE,"Sebastian Hohage.jpg",QString(),QString(),QDate(2000,5,1),"08a",0));
+    group->addPupil(new Pupil("Markus","Kerzel",MALE,"Markus Kerzel.jpg",QString(),QString(),QDate(2000,3,16),"08a",0));
+    group->addPupil(new Pupil("Henning","König",MALE,"Henning Koenig.jpg",QString(),QString(),QDate(2000,5,11),"08a",0));
+    group->addPupil(new Pupil("Sandra","Lehmann",FEMALE,"Sandra Lehmann.jpg",QString(),QString(),QDate(2000,9,3),"08a",0));
+    group->addPupil(new Pupil("Yasmin","Lipinski",FEMALE,"_Yasmin Lipinski .jpg",QString(),QString(),QDate(2000,3,27),"08a",0));
+    group->addPupil(new Pupil("Jakob","Meilenberg",MALE,"Jakob Meilenberg.jpg",QString(),QString(),QDate(2000,6,30),"08a",0));
+    group->addPupil(new Pupil("Benedikt","Meyer",MALE,"Benedikt Meyer.jpg",QString(),QString(),QDate(1999,12,28),"08a",0));
+    group->addPupil(new Pupil("Stefan","Müller",MALE,"Stefan Maier.jpg",QString(),QString(),QDate(2000,5,20),"08a",0));
+    group->addPupil(new Pupil("Peter","Neumann",MALE,"Peter Naumann.jpg",QString(),QString(),QDate(2000,5,27),"08a",0));
+    group->addPupil(new Pupil("Philipp","Quäbicker",MALE,"Phillip Quaebicker.jpg",QString(),QString(),QDate(2000,8,11),"08a",0));
+    group->addPupil(new Pupil("Susanne","Regensburger",FEMALE,"Susanne Regensburger.jpg",QString(),QString(),QDate(2000,8,6),"08a",0));
+    group->addPupil(new Pupil("Beate","Schmidt",FEMALE,"beate schmidt.jpg",QString(),QString(),QDate(2000,7,9),"08a",0));
+    group->addPupil(new Pupil("Lisa","Schmidt",FEMALE,"_Lisa Schmidt.jpg",QString(),QString(),QDate(1999,10,31),"08a",0));
+    group->addPupil(new Pupil("Paul","Schmidt",MALE,"Paul Schmidt.jpg",QString(),QString(),QDate(2000,4,26),"08a",0));
+    group->addPupil(new Pupil("Tanja","Scholz",FEMALE,"Tanja Scholz.jpg",QString(),QString(),QDate(2001,1,11),"08a",0));
+    group->addPupil(new Pupil("Marina","Schulte",FEMALE,"Marina Schulte.jpg",QString(),QString(),QDate(1999,12,2),"08a",0));
+    group->addPupil(new Pupil("Kevin","Schulze",MALE,"Kevin schulze.jpg",QString(),QString(),QDate(1999,2,20),"08a",0));
+    group->addPupil(new Pupil("Antonia","Schwarz",FEMALE,"Antonia Schwarz.jpg",QString(),QString(),QDate(1999,7,11),"08a",0));
+    group->addPupil(new Pupil("Hendrik","Theissen",MALE,"Hendrik Theissen.jpg",QString(),QString(),QDate(2000,3,11),"08a",0));
+    group->addPupil(new Pupil("Carsten","Trompeter",MALE,"Carsten Trompeter.jpg",QString(),QString(),QDate(1998,10,11),"08a",0));
+    group->addPupil(new Pupil("Julia","Tworuschka",FEMALE,"Julia Tworuschka.jpg",QString(),QString(),QDate(1999,7,15),"08a",0));
+    group->addPupil(new Pupil("Sophie","Wedler",FEMALE,"Sophie Wedler.jpg",QString(),QString(),QDate(2000,2,27),"08a",0));
+    group->addPupil(new Pupil("Alice","Wellenstein",FEMALE,"Alice Wellenstein.jpg",QString(),QString(),QDate(2000,11,11),"08a",0));
+    group->addPupil(new Pupil("Gesa","Werthmann",FEMALE,"Gesa Werthmann.jpg",QString(),QString(),QDate(2000,7,23),"08a",0));
+    group->addPupil(new Pupil("Selma","Yildiz",FEMALE,"_Selma Yildiz.jpg",QString(),QString(),QDate(1998,2,1),"08a",0));
+    group->addPupil(new Pupil("Barbara","Anklang",FEMALE,"Barbara Anklang.jpg",QString(),QString(),QDate(1997,12,25),"11",0));
+    group->addPupil(new Pupil("Martin","Baack",MALE,"Martin Baack.jpg",QString(),QString(),QDate(1998,1,1),"11",0));
+    group->addPupil(new Pupil("Martin","Bergmann",MALE,"Martin Bergmann.jpg",QString(),QString(),QDate(1999,5,29),"11",0));
+    group->addPupil(new Pupil("Elisabeth","Blauwies",FEMALE,"Elisabeth Blauwies.jpg",QString(),QString(),QDate(1998,4,9),"11",0));
+    group->addPupil(new Pupil("Tim","Bösch",MALE,"Tim Boesch.jpg",QString(),QString(),QDate(1998,9,27),"11",0));
+    group->addPupil(new Pupil("Frank","Brinkhoff",MALE,"Frank Brinkhoff.jpg",QString(),QString(),QDate(1998,1,15),"11",0));
+    group->addPupil(new Pupil("Theresa","Christens",FEMALE,"Theresa Christens.jpg",QString(),QString(),QDate(1998,3,14),"11",0));
+    group->addPupil(new Pupil("Silke","Goisern",FEMALE,"Silke Goisern.jpg",QString(),QString(),QDate(1998,3,15),"11",0));
+    group->addPupil(new Pupil("Kerstin","Heineberg",FEMALE,"Kerstin Heinenberg .jpg",QString(),QString(),QDate(1997,10,22),"11",0));
+    group->addPupil(new Pupil("Jan","Heiner",MALE,"Jan Heiner.jpg",QString(),QString(),QDate(1997,11,26),"11",0));
+    group->addPupil(new Pupil("Annika","Henrichs",FEMALE,"Annika Henrichs.jpg",QString(),QString(),QDate(1998,5,17),"11",0));
+    group->addPupil(new Pupil("Fritzie","Herbst",FEMALE,"Fritzie Herbst.jpg",QString(),QString(),QDate(1998,3,14),"11",0));
+    group->addPupil(new Pupil("Leo","Hirsch",MALE,"Leo Hirsch.jpg",QString(),QString(),QDate(1997,9,7),"11",0));
+    group->addPupil(new Pupil("Justus","Markwort",MALE,"Justus Markwort.jpg",QString(),QString(),QDate(1995,8,4),"11",0));
+    group->addPupil(new Pupil("Christopher","Mauntz",MALE,"Christopher Mauntz.jpg",QString(),QString(),QDate(1998,1,13),"11",0));
+    group->addPupil(new Pupil("Kai","Maurer",MALE,"Kai Maurer.jpg",QString(),QString(),QDate(1997,12,30),"11",0));
+    group->addPupil(new Pupil("Florian","Neuhaus",MALE,"Florian Neuhaus.jpg",QString(),QString(),QDate(1998,5,20),"11",0));
+    group->addPupil(new Pupil("Sabine","Overkamp",FEMALE,"Sabine Overkamp.jpg",QString(),QString(),QDate(1998,8,4),"11",0));
+    group->addPupil(new Pupil("Frank","Paschen",MALE,"Frank Paschen.jpg",QString(),QString(),QDate(1998,3,17),"11",0));
+    group->addPupil(new Pupil("Petra","Schubert",FEMALE,"Petra Schubert.jpg",QString(),QString(),QDate(1994,2,23),"11",0));
+    group->addPupil(new Pupil("Verena","Schwarz",FEMALE,"Verena Schwarz.jpg",QString(),QString(),QDate(1993,3,17),"11",0));
+    group->addPupil(new Pupil("Helge","Stalter",MALE,"Helge Stalter.jpg",QString(),QString(),QDate(1994,2,6),"11",0));
+    group->addPupil(new Pupil("Lena","Swarovski",FEMALE,"Lena Swarovski.jpg",QString(),QString(),QDate(1994,3,22),"11",0));
+
+//    Paths::setCustomPicturePathStatic("resources/");
+//    Paths::setPicturePathStatic("resources/");
+
+    group->pupilAt(0).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
+    group->pupilAt(1).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
+    group->pupilAt(2).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
+    group->pupilAt(3).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
+    group->pupilAt(4).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
+    group->pupilAt(5).data()->addAddress(new Address("Erzieher","Auguste-Viktoria-Platz 193","77652","Offenburg"));
+    group->pupilAt(6).data()->addAddress(new Address("Erzieher","Bullenwinkel 467","74074","Heilbronn"));
+    group->pupilAt(7).data()->addAddress(new Address("Erzieher","Schinkelplatz 389","46236","Bottrop"));
+    group->pupilAt(8).data()->addAddress(new Address("Erzieher","Mentzelstraße 327","33617","Bielefeld"));
+    group->pupilAt(9).data()->addAddress(new Address("Erzieher","Bundesallee 252","49082","Osnabrück"));
+    group->pupilAt(10).data()->addAddress(new Address("Erzieher","Schreberplatz 93","33619","Bielefeld"));
+    group->pupilAt(11).data()->addAddress(new Address("Erzieher","Mühltaler Straße 252","45327","Essen"));
+    group->pupilAt(12).data()->addAddress(new Address("Erzieher","Köllnischer Wursthof 49","50996","Köln"));
+    group->pupilAt(13).data()->addAddress(new Address("Erzieher","Spinnpfad 38","40599","Düsseldorf"));
+    group->pupilAt(14).data()->addAddress(new Address("Erzieher","Schießgasse 122","85399","Hallbergmoos"));
+    group->pupilAt(15).data()->addAddress(new Address("Erzieher","Am Wiesenrain 156","69221","Dossenheim"));
+    group->pupilAt(16).data()->addAddress(new Address("Erzieher","Spindlersfelder Straße 201","40593","Düsseldorf"));
+    group->pupilAt(17).data()->addAddress(new Address("Erzieher","Schröderdamm 37","47169","Duisburg"));
+    group->pupilAt(18).data()->addAddress(new Address("Erzieher","Franklinstraße 390","48356","Nordwalde"));
+    group->pupilAt(19).data()->addAddress(new Address("Erzieher","Friedbergstraße 84","10555","Berlin"));
+    group->pupilAt(20).data()->addAddress(new Address("Erzieher","Mandrellaplatz 319","53119","Bonn"));
+    group->pupilAt(21).data()->addAddress(new Address("Erzieher","Müggelwerderweg 489","50823","Köln"));
+    group->pupilAt(22).data()->addAddress(new Address("Erzieher","Stralauer Straße 137","45478","Mülheim"));
+    group->pupilAt(23).data()->addAddress(new Address("Erzieher","Müggellandstraße 101","33611","Bielefeld"));
+    group->pupilAt(24).data()->addAddress(new Address("Erzieher","Müggelbergallee 455","60314","Frankfurt"));
+    group->pupilAt(25).data()->addAddress(new Address("Erzieher","Kirch-Gasse 96","53129","Bonn"));
+    group->pupilAt(26).data()->addAddress(new Address("Erzieher","Buchholzweg 278","51545","Waldbröl"));
+    group->pupilAt(27).data()->addAddress(new Address("Erzieher","Plattnerstraße 287","40233","Düsseldorf"));
+    group->pupilAt(28).data()->addAddress(new Address("Erzieher","Bolivarallee 28","41517","Grevenbroich"));
+    group->pupilAt(29).data()->addAddress(new Address("Erzieher","Große Allee 464","F-75011","Paris"));
+    group->pupilAt(30).data()->addAddress(new Address("Erzieher","Edisonstraße 496","53881","Euskirchen"));
+    group->pupilAt(31).data()->addAddress(new Address("Erzieher","Erknerstraße 414","82194","Gröbenzell"));
+    group->pupilAt(32).data()->addAddress(new Address("Erzieher","Friedrichplatz 339","57584","Wallmenroth"));
+    group->pupilAt(33).data()->addAddress(new Address("Erzieher","Englische Straße 42","22926","Ahrensburg"));
+    group->pupilAt(34).data()->addAddress(new Address("Erzieher","Oettingstraße 491","82140","Olching"));
+    group->pupilAt(35).data()->addAddress(new Address("Erzieher","Erpetaler Weg 285","46519","Alpen"));
+    group->pupilAt(36).data()->addAddress(new Address("Erzieher","Spreestraße 91","40235","Düsseldorf"));
+    group->pupilAt(37).data()->addAddress(new Address("Erzieher","Carmerstraße 233","46397","Bocholt"));
+    group->pupilAt(38).data()->addAddress(new Address("Erzieher","Emmy-Zehden-Weg 460","10435","Berlin"));
+    group->pupilAt(39).data()->addAddress(new Address("Erzieher","Stubenrauchstraße 216","40210","Düsseldorf"));
+    group->pupilAt(40).data()->addAddress(new Address("Erzieher","Kalkscheunenquergasse 210","46395","Bocholt"));
+    group->pupilAt(41).data()->addAddress(new Address("Erzieher","Seestraße 430","59302","Oelde"));
+    group->pupilAt(42).data()->addAddress(new Address("Erzieher","Amselhorst 257","60313","Frankfurt"));
+    group->pupilAt(43).data()->addAddress(new Address("Erzieher","Nobels Hof 383","95326","Kulmbach"));
+    group->pupilAt(44).data()->addAddress(new Address("Erzieher","Luisenstraße 375","45259","Essen"));
+    group->pupilAt(45).data()->addAddress(new Address("Erzieher","Müllroser Straße 371","33428","Harsewinkel"));
+    group->pupilAt(46).data()->addAddress(new Address("Erzieher","Bismarckstraße 251","24103","Kiel"));
+    group->pupilAt(47).data()->addAddress(new Address("Erzieher","Militscher Weg 222","59077","Hamm"));
+    group->pupilAt(48).data()->addAddress(new Address("Erzieher","Kleine Burgstraße 211","24111","Kiel"));
+    group->pupilAt(49).data()->addAddress(new Address("Erzieher","Kirchgasse 166","47166","Duisburg"));
+    group->pupilAt(50).data()->addAddress(new Address("Erzieher","Am Postfenn 448","81825","München"));
+    group->pupilAt(51).data()->addAddress(new Address("Erzieher","Breite Straße 227","80993","München"));
+    group->pupilAt(52).data()->addAddress(new Address("Erzieher","Gustloffstraße 292","45896","Gelsenkirchen"));
+    group->pupilAt(53).data()->addAddress(new Address("Erzieher","Am Salzufer beim Speicher 10","53842","Troisdorf"));
+    group->pupilAt(54).data()->addAddress(new Address("Erzieher","Strandweg 13","46359","Heiden"));
+    group->pupilAt(55).data()->addAddress(new Address("Erzieher","Dickensweg 269","45899","Gelsenkirchen"));
+    group->pupilAt(56).data()->addAddress(new Address("Erzieher","Birkweilerstraße 258","42389","Wuppertal"));
+    group->pupilAt(57).data()->addAddress(new Address("Erzieher","Luisenplatz 33","48153","Münster"));
+    group->pupilAt(58).data()->addAddress(new Address("Erzieher","Am Volkshaus 242","60529","Frankfurt"));
+    group->pupilAt(59).data()->addAddress(new Address("Erzieher","Adlershofer Straße 357","37671","Höxter"));
+    group->pupilAt(60).data()->addAddress(new Address("Erzieher","Semliner Straße 463","10245","Berlin"));
+    group->pupilAt(61).data()->addAddress(new Address("Erzieher","Kirchplatz 254","76149","Karlsruhe"));
+    group->pupilAt(62).data()->addAddress(new Address("Erzieher","Straße nach Fichtenau 408","52457","Aldenhoven"));
+    group->pupilAt(63).data()->addAddress(new Address("Erzieher","Schützengasse 497","73460","Hüttlingen"));
+    group->pupilAt(64).data()->addAddress(new Address("Erzieher","Bismarckstraße 194","28209","Bremen"));
+    group->pupilAt(65).data()->addAddress(new Address("Erzieher","Am Bahnhof Jungfernheide 227","57299","Burbach"));
+    group->pupilAt(66).data()->addAddress(new Address("Erzieher","Epiphanienweg 219","45149","Essen"));
+    group->pupilAt(67).data()->addAddress(new Address("Erzieher","Scharnhorststraße 238","91054","Erlangen"));
+    group->pupilAt(68).data()->addAddress(new Address("Erzieher","Baderseestraße 492","42899","Remscheid"));
+    group->pupilAt(69).data()->addAddress(new Address("Erzieher","Enkenbacher Weg 473","53179","Bonn"));
+    group->pupilAt(70).data()->addAddress(new Address("Erzieher","Siefersheimer Straße 379","50226","Frechen"));
+    group->pupilAt(71).data()->addAddress(new Address("Erzieher","Gutsmuthsweg 197","59955","Winterberg"));
+    group->pupilAt(72).data()->addAddress(new Address("Erzieher","Beutenweg 316","42329","Wuppertal"));
+    group->pupilAt(73).data()->addAddress(new Address("Erzieher","Fahlenbergstraße 244","50667","Köln"));
+    group->pupilAt(74).data()->addAddress(new Address("Erzieher","Cauerstraße 171","41068","Mönchengladbach"));
+    group->pupilAt(75).data()->addAddress(new Address("Erzieher","Eichkatzweg 263","10999","Berlin"));
+    group->pupilAt(76).data()->addAddress(new Address("Erzieher","Fasanenstraße 83","34127","Kassel"));
+    group->pupilAt(77).data()->addAddress(new Address("Erzieher","Augsburger Straße 397","41748","Viersen"));
+    group->pupilAt(78).data()->addAddress(new Address("Erzieher","Erlengrund 240","22393","Hamburg"));
+    group->pupilAt(79).data()->addAddress(new Address("Erzieher","Müggelschlößchenweg 111","90762","Fürth"));
+    group->pupilAt(80).data()->addAddress(new Address("Erzieher","Rautendeleinweg 233","60322","Frankfurt"));
+    group->pupilAt(81).data()->addAddress(new Address("Erzieher","Plattnerstraße 448","33611","Bielefeld"));
+    group->pupilAt(82).data()->addAddress(new Address("Erzieher","Falkendamm 174","44532","Lünen"));
+    group->pupilAt(83).data()->addAddress(new Address("Erzieher","Beutenweg 46","40233","Düsseldorf"));
+    group->pupilAt(84).data()->addAddress(new Address("Erzieher","Grolmanstraße 21","42105","Wuppertal"));
+
+    group->pupilAt(0).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
+    group->pupilAt(1).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
+    group->pupilAt(2).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
+    group->pupilAt(3).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
+    group->pupilAt(4).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
+    group->pupilAt(5).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-340678"));
+    group->pupilAt(6).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-697259"));
+    group->pupilAt(7).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-893457"));
+    group->pupilAt(8).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-329887"));
+    group->pupilAt(9).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-929597"));
+    group->pupilAt(10).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-796732"));
+    group->pupilAt(11).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-546859"));
+    group->pupilAt(12).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-595620"));
+    group->pupilAt(13).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-866276"));
+    group->pupilAt(14).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-460017"));
+    group->pupilAt(15).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-482789"));
+    group->pupilAt(16).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-572497"));
+    group->pupilAt(17).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-778335"));
+    group->pupilAt(18).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-373357"));
+    group->pupilAt(19).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-141325"));
+    group->pupilAt(20).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-479624"));
+    group->pupilAt(21).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-181349"));
+    group->pupilAt(22).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-292118"));
+    group->pupilAt(23).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-835081"));
+    group->pupilAt(24).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-177756"));
+    group->pupilAt(25).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-744508"));
+    group->pupilAt(26).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-966629"));
+    group->pupilAt(27).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-310955"));
+    group->pupilAt(28).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-557452"));
+    group->pupilAt(29).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-822892"));
+    group->pupilAt(30).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-146895"));
+    group->pupilAt(31).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-140179"));
+    group->pupilAt(32).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-748715"));
+    group->pupilAt(33).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-511395"));
+    group->pupilAt(34).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-451487"));
+    group->pupilAt(35).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-427073"));
+    group->pupilAt(36).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-636559"));
+    group->pupilAt(37).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-952210"));
+    group->pupilAt(38).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-273424"));
+    group->pupilAt(39).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-371440"));
+    group->pupilAt(40).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-620761"));
+    group->pupilAt(41).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-976994"));
+    group->pupilAt(42).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-884805"));
+    group->pupilAt(43).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-664649"));
+    group->pupilAt(44).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-860288"));
+    group->pupilAt(45).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-756263"));
+    group->pupilAt(46).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-471363"));
+    group->pupilAt(47).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-381769"));
+    group->pupilAt(48).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-449971"));
+    group->pupilAt(49).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-167298"));
+    group->pupilAt(50).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-125506"));
+    group->pupilAt(51).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-295468"));
+    group->pupilAt(52).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-288429"));
+    group->pupilAt(53).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-838009"));
+    group->pupilAt(54).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-460820"));
+    group->pupilAt(55).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-280847"));
+    group->pupilAt(56).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-864574"));
+    group->pupilAt(57).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-496047"));
+    group->pupilAt(58).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-448370"));
+    group->pupilAt(59).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-371203"));
+    group->pupilAt(60).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-395222"));
+    group->pupilAt(61).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-984187"));
+    group->pupilAt(62).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-726034"));
+    group->pupilAt(63).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-848504"));
+    group->pupilAt(64).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-384888"));
+    group->pupilAt(65).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-816536"));
+    group->pupilAt(66).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-959895"));
+    group->pupilAt(67).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-805634"));
+    group->pupilAt(68).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-884150"));
+    group->pupilAt(69).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-614509"));
+    group->pupilAt(70).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-204527"));
+    group->pupilAt(71).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-936177"));
+    group->pupilAt(72).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-851124"));
+    group->pupilAt(73).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-780272"));
+    group->pupilAt(74).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-193218"));
+    group->pupilAt(75).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-863423"));
+    group->pupilAt(76).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-505932"));
+    group->pupilAt(77).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-193988"));
+    group->pupilAt(78).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-284261"));
+    group->pupilAt(79).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-354793"));
+    group->pupilAt(80).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-150300"));
+    group->pupilAt(81).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-935449"));
+    group->pupilAt(82).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-241454"));
+    group->pupilAt(83).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-263433"));
+    group->pupilAt(84).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-942203"));
+
+    group->pupilAt(0).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
+    group->pupilAt(1).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
+    group->pupilAt(2).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
+    group->pupilAt(3).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
+    group->pupilAt(4).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
+    group->pupilAt(5).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-791688"));
+    group->pupilAt(6).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-837199"));
+    group->pupilAt(7).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-194122"));
+    group->pupilAt(8).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-145996"));
+    group->pupilAt(9).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-446435"));
+    group->pupilAt(10).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-777240"));
+    group->pupilAt(11).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-957984"));
+    group->pupilAt(12).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-959035"));
+    group->pupilAt(13).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-646996"));
+    group->pupilAt(14).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-754644"));
+    group->pupilAt(15).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-691871"));
+    group->pupilAt(16).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-606116"));
+    group->pupilAt(17).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-560258"));
+    group->pupilAt(18).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-725004"));
+    group->pupilAt(19).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-836000"));
+    group->pupilAt(20).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-501271"));
+    group->pupilAt(21).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-495368"));
+    group->pupilAt(22).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-833977"));
+    group->pupilAt(23).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-999205"));
+    group->pupilAt(24).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-496463"));
+    group->pupilAt(25).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-901833"));
+    group->pupilAt(26).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-836660"));
+    group->pupilAt(27).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-565273"));
+    group->pupilAt(28).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-334976"));
+    group->pupilAt(29).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-586964"));
+    group->pupilAt(30).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-669576"));
+    group->pupilAt(31).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-931698"));
+    group->pupilAt(32).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-968447"));
+    group->pupilAt(33).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-576603"));
+    group->pupilAt(34).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-331963"));
+    group->pupilAt(35).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-122682"));
+    group->pupilAt(36).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-582439"));
+    group->pupilAt(37).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-930372"));
+    group->pupilAt(38).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-812512"));
+    group->pupilAt(39).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-432765"));
+    group->pupilAt(40).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-443758"));
+    group->pupilAt(41).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-696010"));
+    group->pupilAt(42).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-493309"));
+    group->pupilAt(43).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-470076"));
+    group->pupilAt(44).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-284998"));
+    group->pupilAt(45).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-619313"));
+    group->pupilAt(46).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-922854"));
+    group->pupilAt(47).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-610450"));
+    group->pupilAt(48).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-593422"));
+    group->pupilAt(49).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-378564"));
+    group->pupilAt(50).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-311956"));
+    group->pupilAt(51).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-645321"));
+    group->pupilAt(52).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-305341"));
+    group->pupilAt(53).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-708486"));
+    group->pupilAt(54).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-943784"));
+    group->pupilAt(55).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-855304"));
+    group->pupilAt(56).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-524665"));
+    group->pupilAt(57).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-629998"));
+    group->pupilAt(58).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-803833"));
+    group->pupilAt(59).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-568313"));
+    group->pupilAt(60).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-472579"));
+    group->pupilAt(61).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-453570"));
+    group->pupilAt(62).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-779747"));
+    group->pupilAt(63).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-959740"));
+    group->pupilAt(64).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-791460"));
+    group->pupilAt(65).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-852067"));
+    group->pupilAt(66).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-137234"));
+    group->pupilAt(67).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-245563"));
+    group->pupilAt(68).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-103207"));
+    group->pupilAt(69).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-376089"));
+    group->pupilAt(70).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-551473"));
+    group->pupilAt(71).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-928563"));
+    group->pupilAt(72).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-268328"));
+    group->pupilAt(73).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-771549"));
+    group->pupilAt(74).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-776219"));
+    group->pupilAt(75).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-581444"));
+    group->pupilAt(76).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-100392"));
+    group->pupilAt(77).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-267220"));
+    group->pupilAt(78).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-333075"));
+    group->pupilAt(79).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-746235"));
+    group->pupilAt(80).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-695127"));
+    group->pupilAt(81).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-231127"));
+    group->pupilAt(82).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-992639"));
+    group->pupilAt(83).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-334154"));
+    group->pupilAt(84).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-100465"));
+
+    group->pupilAt(0).data()->addContact(new Contact("Email",EMAIL_CONTACT,"TimmieB@smail.de_"));
+    group->pupilAt(1).data()->addContact(new Contact("Email",EMAIL_CONTACT,"lenalenalena3@smail.de_"));
+    group->pupilAt(2).data()->addContact(new Contact("Email",EMAIL_CONTACT,"marcel.dunst111@smail.de_"));
+    group->pupilAt(3).data()->addContact(new Contact("Email",EMAIL_CONTACT,"cernst@smail.de_"));
+    group->pupilAt(4).data()->addContact(new Contact("Email",EMAIL_CONTACT,"hannahsemail@smail.de_"));
+    group->pupilAt(5).data()->addContact(new Contact("Email",EMAIL_CONTACT,"vrgsk@smail.de_"));
+    group->pupilAt(6).data()->addContact(new Contact("Email",EMAIL_CONTACT,"hagedornjann@smail.de_"));
+    group->pupilAt(7).data()->addContact(new Contact("Email",EMAIL_CONTACT,"svenja_H@smail.de_"));
+    group->pupilAt(8).data()->addContact(new Contact("Email",EMAIL_CONTACT,"dertimohatmail@smail.de_"));
+    group->pupilAt(9).data()->addContact(new Contact("Email",EMAIL_CONTACT,"birthe-hunter@smail.de_"));
+    group->pupilAt(10).data()->addContact(new Contact("Email",EMAIL_CONTACT,"thor-ben@smail.de_"));
+    group->pupilAt(11).data()->addContact(new Contact("Email",EMAIL_CONTACT,"kaiserin_julia@smail.de_"));
+    group->pupilAt(12).data()->addContact(new Contact("Email",EMAIL_CONTACT,"dinikersting@smail.de_"));
+    group->pupilAt(13).data()->addContact(new Contact("Email",EMAIL_CONTACT,"rieke1234567@smail.de_"));
+    group->pupilAt(14).data()->addContact(new Contact("Email",EMAIL_CONTACT,"koellerkollerkiller@smail.de_"));
+    group->pupilAt(15).data()->addContact(new Contact("Email",EMAIL_CONTACT,"mara-longmountain@smail.de_"));
+    group->pupilAt(16).data()->addContact(new Contact("Email",EMAIL_CONTACT,"stefanowitschm@smail.de_"));
+    group->pupilAt(17).data()->addContact(new Contact("Email",EMAIL_CONTACT,"danameerkatze@smail.de_"));
+    group->pupilAt(18).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BillieMentzel@smail.de_"));
+    group->pupilAt(19).data()->addContact(new Contact("Email",EMAIL_CONTACT,"steffenNIE@smail.de_"));
+    group->pupilAt(20).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MuratÖzgür@smail.de_"));
+    group->pupilAt(21).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MariechenPieczo@smail.de_"));
+    group->pupilAt(22).data()->addContact(new Contact("Email",EMAIL_CONTACT,"pit-cleaning@smail.de_"));
+    group->pupilAt(23).data()->addContact(new Contact("Email",EMAIL_CONTACT,"richter_alex1111@smail.de_"));
+    group->pupilAt(24).data()->addContact(new Contact("Email",EMAIL_CONTACT,"schneefrau@smail.de_"));
+    group->pupilAt(25).data()->addContact(new Contact("Email",EMAIL_CONTACT,"anne.seweringsbeck@smail.de_"));
+    group->pupilAt(26).data()->addContact(new Contact("Email",EMAIL_CONTACT,"benedikt_terstelen@smail.de_"));
+    group->pupilAt(27).data()->addContact(new Contact("Email",EMAIL_CONTACT,"happyfromophoven@smail.de_"));
+    group->pupilAt(28).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Heike.Vierseneck@smail.de_"));
+    group->pupilAt(29).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BeaWeberNEU@smail.de_"));
+    group->pupilAt(30).data()->addContact(new Contact("Email",EMAIL_CONTACT,"ThomasWeberThomasWeber@smail.de_"));
+    group->pupilAt(31).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BellaAnnaWebern99@smail.de_"));
+    group->pupilAt(32).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Larabach@smail.de_"));
+    group->pupilAt(33).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Sboehmer@smail.de_"));
+    group->pupilAt(34).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BrEs@smail.de_"));
+    group->pupilAt(35).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Annik-Gose@smail.de_"));
+    group->pupilAt(36).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kat_Haarmann@smail.de_"));
+    group->pupilAt(37).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SebiHohi2000@smail.de_"));
+    group->pupilAt(38).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kerzel.M@smail.de_"));
+    group->pupilAt(39).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hennig-the-King@smail.de_"));
+    group->pupilAt(40).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SandyLeh@smail.de_"));
+    group->pupilAt(41).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Yasmin-Lipinski@smail.de_"));
+    group->pupilAt(42).data()->addContact(new Contact("Email",EMAIL_CONTACT,"7-Meilen-Jakob@smail.de_"));
+    group->pupilAt(43).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Big_Benny@smail.de_"));
+    group->pupilAt(44).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Stefan.Mueller13@smail.de_"));
+    group->pupilAt(45).data()->addContact(new Contact("Email",EMAIL_CONTACT,"PeterPanNeu@smail.de_"));
+    group->pupilAt(46).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Quaebicker.Phil@smail.de_"));
+    group->pupilAt(47).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Susi_Spielmacher@smail.de_"));
+    group->pupilAt(48).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Schmidtty-Bea00@smail.de_"));
+    group->pupilAt(49).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MrsNeunmalklug@smail.de_"));
+    group->pupilAt(50).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Paul.S.99@smail.de_"));
+    group->pupilAt(51).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Scholz_Tanja_2@smail.de_"));
+    group->pupilAt(52).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Meeresschulte99@smail.de_"));
+    group->pupilAt(53).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kev.Cool-13@smail.de_"));
+    group->pupilAt(54).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BlackAntony@smail.de_"));
+    group->pupilAt(55).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hendrik-Theissen-Jr@smail.de_"));
+    group->pupilAt(56).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Carsten-Trumpet5@smail.de_"));
+    group->pupilAt(57).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Julia.Tworuschka@smail.de_"));
+    group->pupilAt(58).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SophiesWelt2000@smial.de_"));
+    group->pupilAt(59).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Alice-Wavestone@smail.de_"));
+    group->pupilAt(60).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Leiden-der-jungen-Gesa@smail.de_"));
+    group->pupilAt(61).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Selma-Yildiz13@smail.de_"));
+    group->pupilAt(62).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Barbara-at-Sound@smail.de_"));
+    group->pupilAt(63).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Baak.M.1234@smail.de_"));
+    group->pupilAt(64).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Martin.Bergmann@smail.de_"));
+    group->pupilAt(65).data()->addContact(new Contact("Email",EMAIL_CONTACT,"EinsteinElli@smail.de_"));
+    group->pupilAt(66).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Ti-Boe@smail.de_"));
+    group->pupilAt(67).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Zum-Wohl-Frank@smail.de_"));
+    group->pupilAt(68).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Holy-Theresa@smail.de_"));
+    group->pupilAt(69).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Silke.Goisern96@smail.de_"));
+    group->pupilAt(70).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kerstin_Heini@smail.de_"));
+    group->pupilAt(71).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Jan-the-brain@smail.de_"));
+    group->pupilAt(72).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Annika.Henrichs12@smail.de_"));
+    group->pupilAt(73).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Fritzie-Coke@smail.de_"));
+    group->pupilAt(74).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hirsch-heisst-er@smail.de_"));
+    group->pupilAt(75).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Just_Mark_Word@smail.de_"));
+    group->pupilAt(76).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Chriscat95@smail.de_"));
+    group->pupilAt(77).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kai-Maurer-415@smail.de_"));
+    group->pupilAt(78).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Neuhaus-1645@smail.de_"));
+    group->pupilAt(79).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Sabine.Overkamp2@smail.de_"));
+    group->pupilAt(80).data()->addContact(new Contact("Email",EMAIL_CONTACT,"PaschFrank@smail.de_"));
+    group->pupilAt(81).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Petras_Winterreise@smail.de_"));
+    group->pupilAt(82).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BlackMamba5@smail.de_"));
+    group->pupilAt(83).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Helges-Jazzclub@smail.de_"));
+    group->pupilAt(84).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Swarovski.Lena4@smail.de_"));
+
+
+    group->pupilAt(0).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"info@berg-immobilien.com_"));
+    group->pupilAt(1).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"ClemensundAnja@DieConrads.de_"));
+    group->pupilAt(2).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"sales@dunst-aufzuege.de_"));
+    group->pupilAt(3).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieErnst@smail.de_"));
+    group->pupilAt(4).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"juergen.eschborn@smail.de_"));
+    group->pupilAt(5).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Britta_Geseke@smail.de_"));
+    group->pupilAt(6).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"familie@hagedorns.de_"));
+    group->pupilAt(7).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"hartmaenner@smail.de_"));
+    group->pupilAt(8).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Marco.Haufer@email.de_"));
+    group->pupilAt(9).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"aufzumfroehlichenjagen@email.de_"));
+    group->pupilAt(10).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"hwerdka@smail.de_"));
+    group->pupilAt(11).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HalloHerrKaiser@smail.de_"));
+    group->pupilAt(12).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kersting.Ute@smail.de_"));
+    group->pupilAt(13).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kerzels@smail.de_"));
+    group->pupilAt(14).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"vera-koeller@smail.de_"));
+    group->pupilAt(15).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Sebastian.Langenberg@smail.de_"));
+    group->pupilAt(16).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Sabine_Maier_69@smail.de_"));
+    group->pupilAt(17).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"paul@familiemeerkat.de_"));
+    group->pupilAt(18).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"berndmentzel@smail.de_"));
+    group->pupilAt(19).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Ruediger_Niecke@smail.de_"));
+    group->pupilAt(20).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"OgulcanOeztuerk@smail.com.tk_"));
+    group->pupilAt(21).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"sales@beckertransporte.de_"));
+    group->pupilAt(22).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"mail@reining-tv.de_"));
+    group->pupilAt(23).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"GeroRichter@smail.de_"));
+    group->pupilAt(24).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"dieschneemaenner@smail.de_"));
+    group->pupilAt(25).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"familie@seweringsbeck.de_"));
+    group->pupilAt(26).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"terstelen@deinebank.de_"));
+    group->pupilAt(27).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"vanophovencarla@smail.de_"));
+    group->pupilAt(28).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"elternvonheike@smail.de_"));
+    group->pupilAt(29).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"WeberKnechte@smail.de_"));
+    group->pupilAt(30).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"WeberKnechte@smail.de_"));
+    group->pupilAt(31).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"webern@elternmail.de_"));
+    group->pupilAt(32).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Heiner.Bachmann@smail.de_"));
+    group->pupilAt(33).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"L.Boehmer-Kapitza@smail.de_"));
+    group->pupilAt(34).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Annette.Eschweger@smail.de_"));
+    group->pupilAt(35).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Heiner.Gosekamp@smail.de_"));
+    group->pupilAt(36).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"H@Haarmann.de_"));
+    group->pupilAt(37).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"K.Hohage@smail.de_"));
+    group->pupilAt(38).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"KaiKerzel@smail.de_"));
+    group->pupilAt(39).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Maraike@FIrmaKoenig.de_"));
+    group->pupilAt(40).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kontakt@Lehmann-industries.de_"));
+    group->pupilAt(41).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Silke_Lipinski@Stadtnet.de_"));
+    group->pupilAt(42).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeikeUndWalter.Ernst@smail.de_"));
+    group->pupilAt(43).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Klaus_Meyer@smail.de_"));
+    group->pupilAt(44).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Support@MusikMueller.de_"));
+    group->pupilAt(45).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Karin.Neumann@smail.de_"));
+    group->pupilAt(46).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Bernd_Quäbicker@smail.de_"));
+    group->pupilAt(47).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieRegensburger@smail.de_"));
+    group->pupilAt(48).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Daphne-Schmidt@smail.de_"));
+    group->pupilAt(49).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Info@KaisersLaden.de_"));
+    group->pupilAt(50).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"ElenoreSchmidt2@smail.de_"));
+    group->pupilAt(51).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"TanjasEltern@smail.de_"));
+    group->pupilAt(52).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Schulte@SchulteGmbH-Co-KG.de_"));
+    group->pupilAt(53).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,""));
+    group->pupilAt(54).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"SchwarzWeiss@smail.de_"));
+    group->pupilAt(55).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Hendrik-Theissen-Sr@smail.de_"));
+    group->pupilAt(56).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kurt@Instrumentenbau.de_"));
+    group->pupilAt(57).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"S.K.Tworuschka@smail.de_"));
+    group->pupilAt(58).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeinkeUndKarlWedler@smail.de_"));
+    group->pupilAt(59).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Wellenstein@Wellenstein.net_"));
+    group->pupilAt(60).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Dagma.Werthmann@smail.de_"));
+    group->pupilAt(61).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"K@Yildiz-Industries.com_"));
+    group->pupilAt(62).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Beate_Anklang4@smail.de_"));
+    group->pupilAt(63).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieBaack@smail.de_"));
+    group->pupilAt(64).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Katharina_Bergmann@smail.de_"));
+    group->pupilAt(65).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Vorstand@Blauwies-Entertainment.de_"));
+    group->pupilAt(66).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Ehepaar_Boesch@smail.de_"));
+    group->pupilAt(67).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"DiethelmBrinkhoff@smail.de_"));
+    group->pupilAt(68).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kai.Christens-Lachmacher@smail.de_"));
+    group->pupilAt(69).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Salome-Goisern@smail.de_"));
+    group->pupilAt(70).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeinebergFamilie@smail.de_"));
+    group->pupilAt(71).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kurt@HeinerVerlag.de_"));
+    group->pupilAt(72).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Dorothea_Henrichs@smail.de_"));
+    group->pupilAt(73).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Herbstsaison@smail.de_"));
+    group->pupilAt(74).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"GieselaHirsch@Hirsch.de_"));
+    group->pupilAt(75).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,""));
+    group->pupilAt(76).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kathrin.Mauntz-Wirting@smail.de_"));
+    group->pupilAt(77).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Maurer@Hausbau.de_"));
+    group->pupilAt(78).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Isabell_Neuhaus@smail.de_"));
+    group->pupilAt(79).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Overkamp@Overkamp.de_"));
+    group->pupilAt(80).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"NilsUndBarbaraPaschen@smail.de_"));
+    group->pupilAt(81).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Schubert@Boosey-and-Klawkes.de_"));
+    group->pupilAt(82).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"IngoSchwarz@smail.de_"));
+    group->pupilAt(83).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"SE@Stalter-Verkauf.net_"));
+    group->pupilAt(84).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Glitzerndes@Swarovski.net_"));
+}
diff --git a/samples/example/models/faker/createfakemodeldata.h b/samples/example/models/faker/createfakemodeldata.h
new file mode 100644
index 0000000..ad727e3
--- /dev/null
+++ b/samples/example/models/faker/createfakemodeldata.h
@@ -0,0 +1,12 @@
+#ifndef CREATEFAKEMODELDATA
+#define CREATEFAKEMODELDATA
+class Group;
+class CreateFakeModelData {
+
+  public:
+    static void fillGroup(Group *group);
+
+};
+
+#endif // CREATEFAKEMODELDATA
+
diff --git a/samples/example/models/group.cpp b/samples/example/models/group.cpp
new file mode 100644
index 0000000..f0333dc
--- /dev/null
+++ b/samples/example/models/group.cpp
@@ -0,0 +1,54 @@
+#include "group.h"
+
+#include "enums.h"
+
+#include "person.h"
+#include "group.h"
+#include "contact.h"
+#include <QDebug>
+
+Group::Group() : Entity() {
+
+}
+
+const QHash<QString, CuteEntityManager::Relation> Group::getRelations() const {
+    auto hash = QHash<QString, CuteEntityManager::Relation>();
+    hash.insert("pupils", CuteEntityManager::Relation("pupils", MANY_TO_MANY));
+    hash.insert("mainTeacher", CuteEntityManager::Relation("mainTeacher",
+                MANY_TO_ONE));
+    return hash;
+}
+
+QString Group::getName() const {
+    return name;
+}
+
+void Group::setName(const QString &value) {
+    name = value;
+}
+QList<QSharedPointer<Pupil> > Group::getPupils() const {
+    return pupils;
+}
+
+void Group::setPupils(const QList<QSharedPointer<Pupil> > &value) {
+    pupils = value;
+}
+
+void Group::addPupil(Pupil *pupil) {
+    this->pupils.append(QSharedPointer<Pupil>(pupil));
+}
+
+QSharedPointer<Pupil> Group::pupilAt(int i) {
+    return this->pupils.at(i);
+}
+
+QSharedPointer<Person> Group::getMainTeacher() const {
+    return mainTeacher;
+}
+
+void Group::setMainTeacher(const QSharedPointer<Person> &value) {
+    mainTeacher = value;
+}
+
+
+
diff --git a/samples/example/models/group.h b/samples/example/models/group.h
new file mode 100644
index 0000000..5720e7c
--- /dev/null
+++ b/samples/example/models/group.h
@@ -0,0 +1,47 @@
+#ifndef GROUP_H
+#define GROUP_H
+
+#include "enums.h"
+#include "entity.h"
+#include "contact.h"
+#include "pupil.h"
+#include <QDebug>
+//#include <QQuickView>
+
+
+
+class Teacher;
+class Person;
+class Pupil;
+class Relation;
+using namespace CuteEntityManager;
+
+class Group: public CuteEntityManager::Entity {
+    Q_OBJECT
+    Q_PROPERTY(QList<QSharedPointer<Pupil>> pupils READ getPupils WRITE setPupils)
+    Q_PROPERTY(QString name READ getName WRITE setName)
+    Q_PROPERTY(QSharedPointer<Person> mainTeacher READ getMainTeacher WRITE
+               setMainTeacher)
+
+  public:
+    Q_INVOKABLE Group();
+    virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const;
+
+    QString getName() const;
+    void setName(const QString &value);
+
+    QList<QSharedPointer<Pupil> > getPupils() const;
+    void setPupils(const QList<QSharedPointer<Pupil> > &value);
+    void addPupil(Pupil *pupil);
+    QSharedPointer<Pupil> pupilAt(int i);
+
+    QSharedPointer<Person> getMainTeacher() const;
+    void setMainTeacher(const QSharedPointer<Person> &value);
+
+  protected:
+    QList<QSharedPointer<Pupil>> pupils;
+    QSharedPointer<Person> mainTeacher;
+    QString name;
+};
+
+#endif // GROUP_H
diff --git a/samples/example/models/person.cpp b/samples/example/models/person.cpp
new file mode 100644
index 0000000..43ffa04
--- /dev/null
+++ b/samples/example/models/person.cpp
@@ -0,0 +1,135 @@
+#include "person.h"
+
+Person::Person(QObject *parent): Entity(parent) {
+}
+Person::Person(QString firstName, QString familyName, Gender gender,
+               QString customPictureFileName, QString namePrefix, QString nickName,
+               QDate birthday, QObject *parent): Entity(parent) {
+    setFirstName(firstName);
+    setFamilyName(familyName);
+    setNamePrefix(namePrefix);
+    setNickName(nickName);
+    setBirthday(birthday);
+    setGender(gender);
+    setCustomPictureFileName(customPictureFileName);
+}
+
+const QHash<QString, CuteEntityManager::Relation> Person::getRelations() const {
+    auto hash = QHash<QString, CuteEntityManager::Relation>();
+    hash.insert("groups", CuteEntityManager::Relation("groups", MANY_TO_MANY,
+                QString("persons")));
+    return hash;
+}
+
+QString Person::fullName(NameOrder nameOrder) const {
+    QString name = QString();
+    if (nameOrder == FAMILY_FIRST_NAME_ORDER) {
+        name += this->getFamilyName();
+        name += ", ";
+        if (!this->getNamePrefix().isEmpty()) {
+            name += this->getNamePrefix();
+            name += " ";
+        }
+        name += this->getFirstName();
+    } else {
+        name += this->getFirstName();
+        name += " ";
+        name += this->getFamilyName();
+        if (!this->getNamePrefix().isEmpty()) {
+            name += ", ";
+            name += this->getNamePrefix();
+        }
+    }
+    return name;
+}
+QString Person::getFirstName() const {
+    return firstName;
+}
+
+void Person::setFirstName(const QString &value) {
+    firstName = value;
+}
+QString Person::getFamilyName() const {
+    return familyName;
+}
+
+void Person::setFamilyName(const QString &value) {
+    familyName = value;
+}
+QString Person::getNamePrefix() const {
+    return namePrefix;
+}
+
+void Person::setNamePrefix(const QString &value) {
+    namePrefix = value;
+}
+QString Person::getNickName() const {
+    return nickName;
+}
+
+void Person::setNickName(const QString &value) {
+    nickName = value;
+}
+QDate Person::getBirthday() const {
+    return birthday;
+}
+
+void Person::setBirthday(const QDate &value) {
+    birthday = value;
+}
+Gender Person::getGender() const {
+    return gender;
+}
+
+void Person::setGender(const Gender &value) {
+    gender = value;
+}
+QString Person::getCustomPictureFileName() const {
+    return customPictureFileName;
+}
+
+void Person::setCustomPictureFileName(const QString &value) {
+    customPictureFileName = value;
+}
+QList<QSharedPointer<Contact> > Person::getContacts() const {
+    return contacts;
+}
+
+void Person::setContacts(const QList<QSharedPointer<Contact> > &value) {
+    contacts = value;
+}
+QList<QSharedPointer<Address> > Person::getAddresses() const {
+    return addresses;
+}
+
+void Person::setAddresses(const QList<QSharedPointer<Address> > &value) {
+    addresses = value;
+}
+QList<QSharedPointer<Group> > Person::getGroups() const {
+    return groups;
+}
+
+void Person::setGroups(const QList<QSharedPointer<Group> > &value) {
+    groups = value;
+}
+
+void Person::addContact(Contact *contact) {
+    this->contacts.append(QSharedPointer<Contact>(contact));
+}
+
+void Person::addAddress(Address *address) {
+    this->addresses.append(QSharedPointer<Address>(address));
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/example/models/person.h b/samples/example/models/person.h
new file mode 100644
index 0000000..a615522
--- /dev/null
+++ b/samples/example/models/person.h
@@ -0,0 +1,94 @@
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QDateTime>
+#include <QString>
+#include <QList>
+#include <QObject>
+#include "contact.h"
+#include "address.h"
+#include <QAbstractListModel>
+#include <QDebug>
+#include "../../entitymanager/src/entity.h"
+
+using namespace CuteEntityManager;
+class Group;
+enum Gender {MALE, FEMALE, UNKNOWNGENDER};
+class Person: public Entity {
+    Q_OBJECT
+    Q_ENUMS(Gender)
+    Q_PROPERTY(QString firstName READ getFirstName WRITE setFirstName)
+    Q_PROPERTY(QString familyName READ getFamilyName WRITE setFamilyName)
+    Q_PROPERTY(QString namePrefix READ getNamePrefix WRITE setNamePrefix)
+    Q_PROPERTY(QString nickName READ getNickName WRITE setNickName)
+    Q_PROPERTY(QString customPictureFileName READ getCustomPictureFileName WRITE
+               setCustomPictureFileName)
+    Q_PROPERTY(QDate birthday READ getBirthday WRITE setBirthday)
+    Q_PROPERTY(Gender gender READ getGender WRITE setGender)
+    Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups)
+
+  public:
+    Q_INVOKABLE explicit Person(QObject *parent = 0);
+    Person(QString firstName,
+           QString familyName,
+           Gender gender = UNKNOWNGENDER,
+           QString customPictureFileName = QString(),
+           QString namePrefix = QString(),
+           QString nickName = QString(),
+           QDate birthday = QDate(),
+           QObject *parent = 0);
+
+    virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const;
+
+    bool isPresent(QDateTime date = QDateTime::currentDateTime());
+    QString fullName(NameOrder nameOrder = FAMILY_FIRST_NAME_ORDER) const;
+
+    QString getFirstName() const;
+    void setFirstName(const QString &value);
+
+    QString getFamilyName() const;
+    void setFamilyName(const QString &value);
+
+    QString getNamePrefix() const;
+    void setNamePrefix(const QString &value);
+
+    QString getNickName() const;
+    void setNickName(const QString &value);
+
+    QDate getBirthday() const;
+    void setBirthday(const QDate &value);
+
+    Gender getGender() const;
+    void setGender(const Gender &value);
+
+    QString getCustomPictureFileName() const;
+    void setCustomPictureFileName(const QString &value);
+
+    QList<QSharedPointer<Contact> > getContacts() const;
+    void setContacts(const QList<QSharedPointer<Contact> > &value);
+
+    QList<QSharedPointer<Address> > getAddresses() const;
+    void setAddresses(const QList<QSharedPointer<Address> > &value);
+
+    QList<QSharedPointer<Group> > getGroups() const;
+    void setGroups(const QList<QSharedPointer<Group> > &value);
+
+    void addContact(Contact *contact);
+    void addAddress(Address *address);
+
+  protected:
+    QString firstName;
+    QString familyName;
+    QString namePrefix;
+    QString nickName;
+    QDate birthday;
+    Gender gender;
+    QString customPictureFileName;
+    QList <QSharedPointer<Contact>> contacts;
+    QList <QSharedPointer<Address>>addresses;
+    QList<QSharedPointer<Group>> groups;
+
+};
+
+
+#endif // PERSON_H
diff --git a/samples/example/models/pupil.cpp b/samples/example/models/pupil.cpp
new file mode 100644
index 0000000..345e20f
--- /dev/null
+++ b/samples/example/models/pupil.cpp
@@ -0,0 +1,29 @@
+#include "pupil.h"
+
+Pupil::Pupil() : Person() {
+
+}
+
+Pupil::Pupil(QString firstName, QString familyName, Gender gender,
+             QString customPictureFileName, QString namePrefix, QString nickName,
+             QDate birthday, QString form, QObject *parent)
+    : Person(firstName, familyName, gender, customPictureFileName, namePrefix,
+             nickName, birthday, parent) {
+    setFirstName(firstName);
+    setFamilyName(familyName);
+    setNamePrefix(namePrefix);
+    setNickName(nickName);
+    setBirthday(birthday);
+    setGender(gender);
+    setCustomPictureFileName(customPictureFileName);
+    setForm(form);
+}
+
+QString Pupil::getForm() const {
+    return form;
+}
+
+void Pupil::setForm(const QString &value) {
+    form = value;
+}
+
diff --git a/samples/example/models/pupil.h b/samples/example/models/pupil.h
new file mode 100644
index 0000000..b25502d
--- /dev/null
+++ b/samples/example/models/pupil.h
@@ -0,0 +1,21 @@
+#ifndef PUPIL_H
+#define PUPIL_H
+#include "person.h"
+
+class Pupil : public Person {
+    Q_OBJECT
+  public:
+    Q_INVOKABLE Pupil();
+    Pupil(QString firstName, QString familyName, Gender gender = UNKNOWNGENDER,
+          QString customPictureFileName = QString(), QString namePrefix = QString(),
+          QString nickName = QString(), QDate birthday = QDate(),
+          QString form = QString(), QObject *parent = 0);
+    QString getForm() const;
+    void setForm(const QString &value);
+
+  protected:
+    QString form;
+
+};
+
+#endif // PUPIL_H
diff --git a/samples/simple/Example.pro b/samples/simple/Example.pro
new file mode 100644
index 0000000..5738d33
--- /dev/null
+++ b/samples/simple/Example.pro
@@ -0,0 +1,34 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2013-08-01T15:03:24
+#
+#-------------------------------------------------
+
+QT       += core
+QT       += sql
+
+QT       -= gui
+
+#TARGET = EntityManager
+CONFIG   += console
+CONFIG   -= app_bundle
+
+TEMPLATE = app
+
+HEADERS += \
+    artikel.h
+
+SOURCES += \
+    main.cpp \
+    artikel.cpp
+
+unix:!macx: LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug -lCuteEntityManager
+unix:INCLUDEPATH += $$PWD/../../src
+unix:DEPENDPATH += $$PWD/../../src
+CONFIG += c++14
+
+win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/release/ -lCuteEntityManager
+else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug/ -lCuteEntityManager
+
+win32:INCLUDEPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
+win32:DEPENDPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
diff --git a/samples/simple/artikel.cpp b/samples/simple/artikel.cpp
new file mode 100644
index 0000000..493e669
--- /dev/null
+++ b/samples/simple/artikel.cpp
@@ -0,0 +1,50 @@
+/*
+    Small test class
+    Copyright (C) 2013 Christian Ehringfeld <c.ehringfeld@t-online.de>
+
+    This file is part of OpenTeacherTool.
+
+    OpenTeacherTool is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenTeacherTool is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenTeacherTool.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "artikel.h"
+
+double Artikel::getPreis() const {
+    return preis;
+}
+
+void Artikel::setPreis(double value) {
+    preis = value;
+}
+
+QString Artikel::getName() const {
+    return name;
+}
+
+void Artikel::setName(const QString &value) {
+    name = value;
+}
+
+Artikel::~Artikel() {
+
+}
+
+Artikel::Artikel() : Entity() {
+    this->preis = 0.0;
+    this->name = "";
+}
+
+Artikel::Artikel(double preis, QString name) : Entity() {
+    this->preis = preis;
+    this->name = name;
+}
diff --git a/samples/simple/artikel.h b/samples/simple/artikel.h
new file mode 100644
index 0000000..1467031
--- /dev/null
+++ b/samples/simple/artikel.h
@@ -0,0 +1,44 @@
+/*
+    Small test class
+    Copyright (C) 2013 Christian Ehringfeld <c.ehringfeld@t-online.de>
+
+    This file is part of OpenTeacherTool.
+
+    OpenTeacherTool is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenTeacherTool is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenTeacherTool.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef ARTIKEL_H
+#define ARTIKEL_H
+#include "../../src/entity.h"
+#include <QHash>
+#include <QVariant>
+
+class Artikel : public CuteEntityManager::Entity {
+    Q_OBJECT
+    Q_PROPERTY(double preis READ getPreis WRITE setPreis)
+    Q_PROPERTY(QString name READ getName WRITE setName)
+  private:
+    double preis;
+    QString name;
+
+  public:
+    virtual ~Artikel();
+    Q_INVOKABLE Artikel();
+    Artikel(double preis, QString name);
+    double getPreis() const;
+    void setPreis(double value);
+    QString getName() const;
+    void setName(const QString &value);
+};
+#endif // ARTIKEL_H
diff --git a/samples/simple/main.cpp b/samples/simple/main.cpp
new file mode 100644
index 0000000..f7c9f9b
--- /dev/null
+++ b/samples/simple/main.cpp
@@ -0,0 +1,27 @@
+#include <QCoreApplication>
+#include <QDir>
+#include <QDebug>
+#include "artikel.h"
+#include "../../src/entitymanager.h"
+#include "../../src/entityinstancefactory.h"
+/**
+  * create,remove und merge funktionieren
+ */
+using namespace CuteEntityManager;
+int main(int argc, char *argv[]) {
+    Q_UNUSED(argc) Q_UNUSED(argv)
+    EntityInstanceFactory::registerClass<Artikel>();
+    CuteEntityManager::EntityManager *e = new
+    CuteEntityManager::EntityManager("QSQLITE",
+                                     QDir::currentPath() + "/db.sqlite");
+    QStringList inits = QStringList() << "Artikel";
+    e->startup("0.1", inits);
+    QSharedPointer<Artikel> a = QSharedPointer<Artikel>(new Artikel(20.0,
+                                "Müsli"));
+    auto ep = a.dynamicCast<CuteEntityManager::Entity>();
+    e->create(ep, true, true);
+//    auto artikel = e->findById<Artikel *>(1);
+//    qDebug() << "ArtikelID:" << artikel.data()->getId();
+
+    return 0;
+}
diff --git a/src/databasemigration.h b/src/databasemigration.h
index 914c37a..f819989 100644
--- a/src/databasemigration.h
+++ b/src/databasemigration.h
@@ -20,7 +20,7 @@
 #include <QDateTime>
 namespace CuteEntityManager {
 class DatabaseMigration : public Entity {
-
+    Q_OBJECT
     Q_PROPERTY(QString version READ getVersion WRITE setVersion)
     Q_PROPERTY(QDateTime applyTime READ getApplyTime WRITE setApplyTime)
 
diff --git a/src/entityinstancefactory.cpp b/src/entityinstancefactory.cpp
index d9c195c..3d76a17 100644
--- a/src/entityinstancefactory.cpp
+++ b/src/entityinstancefactory.cpp
@@ -23,17 +23,13 @@ EntityInstanceFactory::EntityInstanceFactory() {
 
 Entity *EntityInstanceFactory::createInstance(const char *className) {
     QString s = QString(className);
-    bool contained = false;
     if (!s.contains("*")) {
-        contained = true;
         s.append("*");
     }
     auto ptr = EntityInstanceFactory::createInstance(QMetaType::type(
-                                                         s.toUtf8().constData()));
-    if(!ptr) {
-        if(contained) {
-            s.remove("*");
-        }
+                   s.toUtf8().constData()));
+    if (!ptr) {
+        s.remove("*");
         ptr = EntityInstanceFactory::createObject(s.toUtf8());
     }
     return ptr;
@@ -47,12 +43,12 @@ Entity *EntityInstanceFactory::createInstance(int metaTypeId) {
     Entity *e = 0;
     if (metaTypeId != QMetaType::UnknownType) {
         auto metaObject = QMetaType::metaObjectForType(metaTypeId);
-        if(metaObject) {
-        e = qobject_cast<Entity*>(metaObject->newInstance());
+        if (metaObject) {
+            e = qobject_cast<Entity *>(metaObject->newInstance());
         } else {
-            void* newObj = QMetaType::create(metaTypeId);
-            if(newObj) {
-            e = static_cast<Entity *>(newObj);
+            void *newObj = QMetaType::create(metaTypeId);
+            if (newObj) {
+                e = static_cast<Entity *>(newObj);
             }
         }
     }
diff --git a/src/entityinstancefactory.h b/src/entityinstancefactory.h
index 45fc3e8..a74bf59 100644
--- a/src/entityinstancefactory.h
+++ b/src/entityinstancefactory.h
@@ -22,7 +22,7 @@
 namespace CuteEntityManager {
 class Entity;
 class EntityInstanceFactory {
-public:
+  public:
     static Entity *createInstance(const char *className);
     static Entity *createInstance(const QString &className);
     static Entity *createInstance(int metaTypeId);
@@ -44,35 +44,31 @@ public:
 
     //http://www.mimec.org/node/350
     template<typename T>
-    static void registerClass()
-    {
+    static void registerClass() {
         constructors().insert( T::staticMetaObject.className(), &constructorHelper<T> );
     }
 
-    static Entity* createObject( const QByteArray& className)
-    {
+    static Entity *createObject( const QByteArray &className) {
         Constructor constructor = constructors().value( className );
-        if ( constructor == NULL )
+        if ( constructor == NULL ) {
             return NULL;
+        }
         return (*constructor)();
     }
 
-private:
-    typedef Entity* (*Constructor)();
-
+  private:
+    typedef Entity *(*Constructor)();
     template<typename T>
-    static Entity* constructorHelper()
-    {
+    static Entity *constructorHelper() {
         return new T();
     }
 
-    static QHash<QByteArray, Constructor>& constructors()
-    {
+    static QHash<QByteArray, Constructor> &constructors() {
         static QHash<QByteArray, Constructor> instance;
         return instance;
     }
 
-protected:
+  protected:
     EntityInstanceFactory();
 };
 }
diff --git a/src/entitymanager.cpp b/src/entitymanager.cpp
index e60cce8..2cb4dbf 100644
--- a/src/entitymanager.cpp
+++ b/src/entitymanager.cpp
@@ -56,12 +56,12 @@ EntityManager::~EntityManager() {
 
 bool EntityManager::startup(QString version, QStringList toInitialize) {
     DatabaseMigration *dbm = new DatabaseMigration();
-    QSharedPointer<Entity> ptrDbm = QSharedPointer<Entity>(dbm);
+    QSharedPointer<Entity> ptrDbm = QSharedPointer<DatabaseMigration>(dbm);
     QHash<QString, QVariant> map = QHash<QString, QVariant>();
     bool ok = true;
     map.insert("version", version);
-    if(!this->schema.data()->getTableNames().contains(dbm->getTablename())) {
-        this->createTable(ptrDbm,true);
+    if (!this->schema.data()->getTableNames().contains(dbm->getTablename())) {
+        this->createTable(ptrDbm, true);
     }
     if (this->findAllByAttributes(map, dbm->getTablename()).isEmpty()) {
         for (int var = 0; var < toInitialize.size(); ++var) {
@@ -78,6 +78,7 @@ bool EntityManager::startup(QString version, QStringList toInitialize) {
             dbm->setApplyTime(QDateTime::currentDateTime());
             this->create(ptrDbm);
         }
+        this->schema.data()->setTables(this->schema.data()->getTableSchemas());
     }
     return ok;
 }
@@ -572,7 +573,8 @@ bool EntityManager::create(QSharedPointer<Entity> &entity,
             auto query = q.at(var);
             rc = this->db.data()->exec(query);
             if (!rc) {
-                qDebug() << "Query failed:" << query.lastError().text();
+                qDebug() << "Query failed:" << query.lastError().text() << " of class " <<
+                         entity.data()->getClassname();
                 break;
             }
             if (first) {
@@ -750,8 +752,11 @@ bool EntityManager::removeAll(QString tblname) {
     return this->schema.data()->getQueryBuilder().data()->removeAll(tblname).exec();
 }
 
-bool EntityManager::createTable(const QSharedPointer<Entity> &entity,bool createRelationTables) {
-    return this->schema.data()->getQueryBuilder().data()->createTable(entity,createRelationTables);
+bool EntityManager::createTable(const QSharedPointer<Entity> &entity,
+                                bool createRelationTables) {
+    return this->schema.data()->getQueryBuilder().data()->createTable(entity,
+            createRelationTables);
+
 }
 
 qint8 EntityManager::count(const QSharedPointer<Entity> &entity,
diff --git a/src/entitymanager.h b/src/entitymanager.h
index 206a746..ebc6810 100644
--- a/src/entitymanager.h
+++ b/src/entitymanager.h
@@ -46,7 +46,6 @@ class EntityManager : public QObject {
     QSharedPointer<Database> db;
     Cache cache;
     QString createConnection();
-    QString createTableQuery(const QSharedPointer<Entity> &entity);
     QList<QHash<QString, QVariant> > convertQueryResult(QSqlQuery &q);
     bool checkTable(const QSharedPointer<Entity> &entity);
 
diff --git a/src/querybuilder.cpp b/src/querybuilder.cpp
index 439838f..54bbdd2 100644
--- a/src/querybuilder.cpp
+++ b/src/querybuilder.cpp
@@ -31,7 +31,8 @@ QueryBuilder::QueryBuilder(QSharedPointer<Schema> schema,
 QueryBuilder::~QueryBuilder() {
 }
 
-bool QueryBuilder::createTable(const QSharedPointer<Entity> &entity, bool createRelationTables) const {
+bool QueryBuilder::createTable(const QSharedPointer<Entity> &entity,
+                               bool createRelationTables) const {
     bool rc = false;
     if (entity.data()) {
         auto tableDefinition = this->generateTableDefinition(entity);
@@ -41,11 +42,12 @@ bool QueryBuilder::createTable(const QSharedPointer<Entity> &entity, bool create
             QSqlQuery q = this->database.data()->getQuery(this->createTable(tableName,
                           tableDefinition));
             if (this->database.data()->transaction(q)) {
-                if(createRelationTables) {
+                if (createRelationTables) {
                     auto relTables = this->generateRelationTables(entity);
                     auto i = relTables.constBegin();
-                    while(i != relTables.constEnd()) {
-                        auto query = this->database.data()->getQuery(this->createTable(i.key(),i.value()));
+                    while (i != relTables.constEnd()) {
+                        auto query = this->database.data()->getQuery(this->createTable(i.key(),
+                                     i.value()));
                         this->database.data()->exec(query);
                         ++i;
                     }
@@ -429,7 +431,8 @@ const {
                      this->schema.data()->TYPE_BIGINT);
             auto meta = props.value(r.getPropertyName());
             QSharedPointer<Entity> ptr = QSharedPointer<Entity>
-                                         (EntityInstanceFactory::createInstance(EntityInstanceFactory::extractEntityType(QMetaType::typeName(meta.userType()))));
+                                         (EntityInstanceFactory::createInstance(EntityInstanceFactory::extractEntityType(
+                                                 QMetaType::typeName(meta.userType()))));
             h.insert(this->generateManyToManyColumnName(ptr),
                      this->schema.data()->TYPE_BIGINT);
             relations.insert(this->generateManyToManyTableName(entity, ptr), h);
@@ -532,7 +535,8 @@ QSqlQuery QueryBuilder::find(const qint64 &id,
                              const QSharedPointer<Entity> &entity, qint64 offset, QString pk) const {
     QSqlQuery q = this->database.data()->getQuery(this->selectBase(QStringList(
                       entity.data()->getTablename())) + this->joinSuperClasses(
-                      entity) + " WHERE " + this->schema.data()->quoteColumnName(pk) + "= :id" + this->limit(1, offset));
+                      entity) + " WHERE " + this->schema.data()->quoteColumnName(
+                      pk) + "= :id" + this->limit(1, offset));
     q.bindValue(":id", id);
     return q;
 }
@@ -669,9 +673,9 @@ QSqlQuery QueryBuilder::removeAll(const QString &tableName) const {
 QSqlQuery QueryBuilder::insert(const QString &tableName,
                                QHash<QString, QVariant> &attributes, const QString &primaryKey) const {
     //if(attributes.size() == 1) {
-   // attributes.insert(primaryKey,QVariant("null"));
-  //  } else {
-        attributes.remove(primaryKey);
+    // attributes.insert(primaryKey,QVariant("null"));
+    //  } else {
+    attributes.remove(primaryKey);
 //    }
     QSqlQuery q = this->database.data()->getQuery();
     QString p1 = "INSERT INTO " + this->schema.data()->quoteTableName(
@@ -787,7 +791,11 @@ QString QueryBuilder::limit(const qint64 &limit, const qint64 &offset) const {
 
 QString QueryBuilder::generateManyToManyColumnName(const QSharedPointer<Entity>
         &entity) const {
-    return this->generateColumnNameID(entity.data()->getTablename());
+    if (entity) {
+        return this->generateColumnNameID(entity.data()->getTablename());
+    }
+    qDebug() << "Entity is empty!";
+    return "";
 }
 
 QSqlQuery QueryBuilder::getQuery() const {
diff --git a/src/querybuilder.h b/src/querybuilder.h
index 77e4744..ba71e85 100644
--- a/src/querybuilder.h
+++ b/src/querybuilder.h
@@ -40,7 +40,8 @@ class QueryBuilder {
   public:
     QueryBuilder(QSharedPointer<Schema> schema, QSharedPointer<Database> database);
     virtual ~QueryBuilder();
-    virtual bool createTable(const QSharedPointer<Entity> &entity, bool createRelationTables=true) const;
+    virtual bool createTable(const QSharedPointer<Entity> &entity,
+                             bool createRelationTables = true) const;
     virtual bool createIndices(const QSharedPointer<Entity> &entity) const;
     virtual QString createTable(const QString &tableName,
                                 const QHash<QString, QString> &tableDefinition) const;
diff --git a/src/relation.h b/src/relation.h
index 2dec3b2..b80531d 100644
--- a/src/relation.h
+++ b/src/relation.h
@@ -20,10 +20,10 @@
 namespace CuteEntityManager {
 enum RelationType {
     ONE_TO_ONE, //e.g. specialization, heritage
-    ONE_TO_MANY, //@OneToMany(cascade=ALL, mappedBy="customer")
-    MANY_TO_ONE,
+    ONE_TO_MANY, //@OneToMany(cascade=ALL, mappedBy="customer") e.g. QList<QSharedPointer<Person>>
+    MANY_TO_ONE, //e.g. QSharedPointer<Person>
     //1-n  Entity foreign key in same table
-    MANY_TO_MANY,
+    MANY_TO_MANY, //e.g. QList<QSharedPointer<Person>> - realized with seperated database table
 };
 
 enum InheritanceStrategy {
@@ -49,7 +49,7 @@ class Relation {
      * @param type
      * @param mappedBy Q_PROPERTY in foreign Entity
      */
-    explicit Relation(QString propertyName, RelationType type, QString mappedBy,
+    explicit Relation(QString propertyName, RelationType type, QString mappedBy = QString(),
              QList<CascadeType> cascadeType = {MERGE, PERSIST, REFRESH});
     ~Relation();
     RelationType getType() const;
diff --git a/src/schema.cpp b/src/schema.cpp
index 63ca1d5..7560e3c 100644
--- a/src/schema.cpp
+++ b/src/schema.cpp
@@ -85,7 +85,8 @@ QString Schema::quoteTableName(QString name) {
 }
 
 QString Schema::quoteColumnName(QString name) {
-    if (name.indexOf("(") != -1 || name.indexOf("[[") != -1 || name.indexOf("{{") != -1) {
+    if (name.indexOf("(") != -1 || name.indexOf("[[") != -1
+            || name.indexOf("{{") != -1) {
         return name;
     }
     int pos = name.indexOf(".");
@@ -105,9 +106,9 @@ QHash<QString, QSharedPointer<TableSchema> > Schema::getTableSchemas(
     QString schema, bool refresh) {
     QStringList names = this->getTableNames();
     for (int i = 0; i < names.size(); ++i) {
-        QString name;
+        QString name = names.at(i);
         if (schema != "") {
-            name = schema + "." + names.at(i);
+            name = schema + "." + name;
         }
         this->getTableSchema(name, refresh);
     }
@@ -137,14 +138,15 @@ QString Schema::getRawTable(QString name) {
 }
 
 bool Schema::containsTable(QString tblname) {
-    return this->tables.contains(tblname);
+    if (this->tables.size() !=
+            this->database.data()->getDatabase().tables().size()) {
+        this->setTables(this->getTableSchemas());
+    }
+    return this->database.data()->getDatabase().tables().contains(tblname);
 }
 
 QSharedPointer<TableSchema> Schema::getTableSchema(QString name, bool refresh) {
-    if (refresh) {
-        this->refresh();
-    }
-    if (this->tables.contains(name)) {
+    if (this->tables.contains(name) && !refresh) {
         return this->tables.value(name);
     }
     QString realName = this->getRawTable(name);
