diff --git a/README.md b/README.md
index 661751478e16d8953852ca723a1e78eef39b358d..dc508c8d230acb0dc018d97d7779c96a3a78d287 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,11 @@
 # Django LDP example
 
+# Dependencies 
+This component must be used with another one. By default solid polls is used with solid-circles. 
+To use it by default run pip3 install djangoldp_circles. 
+To change the component it is combined with edit lines xxx and xxx of the models.py file
+
+
 ## Step by step quickstart
 
 1. Installation
diff --git a/djangoldp_polls/__init__.py b/djangoldp_polls/__init__.py
index 7a876269a902b69193d65dbf0054dacce255c89d..359e6f6f952c41d96ec8c4db5c3fa9275a637c9b 100644
--- a/djangoldp_polls/__init__.py
+++ b/djangoldp_polls/__init__.py
@@ -1,2 +1,2 @@
 __version__ = '0.1.0'
-name = "djangoldp_polls"
+name = "djangoldp_polls"
\ No newline at end of file
diff --git a/djangoldp_polls/djangoldp-urls.py b/djangoldp_polls/djangoldp-urls.py
deleted file mode 100644
index 7c8f8759069e8347f3061a0ad21148fd8aa31bcd..0000000000000000000000000000000000000000
--- a/djangoldp_polls/djangoldp-urls.py
+++ /dev/null
@@ -1,31 +0,0 @@
-"""server URL Configuration
-
-The `urlpatterns` list routes URLs to views. For more information please see:
-    https://docs.djangoproject.com/en/1.11/topics/http/urls/
-Examples:
-Function views
-    1. Add an import:  from my_app import views
-    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
-Class-based views
-    1. Add an import:  from other_app.views import Home
-    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
-Including another URLconf
-    1. Import the include() function: from django.conf.urls import url, include
-    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
-"""
-from django.conf.urls import url, include
-from django.contrib import admin
-from django.conf import settings
-from django.conf.urls.static import static
-from django.views import TotalVotes
-
-urlpatterns = [
-    url(r'^', include('djangoldp.urls')),
-    url(r'^admin/', admin.site.urls),
-    url(r'^/polls/?P<pk>[0-9]+/total_votes/$', TotalVotes.as_view(), name='api-poll-votes'),
-
-]
-
-if settings.DEBUG:
-  urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
-
diff --git a/djangoldp_polls/djangoldp_urls.py b/djangoldp_polls/djangoldp_urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..583fa58163ae4abbeb35051de04c6b62a6a9a012
--- /dev/null
+++ b/djangoldp_polls/djangoldp_urls.py
@@ -0,0 +1,32 @@
+"""server URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+    https://docs.djangoproject.com/en/1.11/topics/http/urls/
+Examples:
+Function views
+    1. Add an import:  from my_app import views
+    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
+Class-based views
+    1. Add an import:  from other_app.views import Home
+    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
+Including another URLconf
+    1. Import the include() function: from django.conf.urls import url, include
+    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
+"""
+
+"""djangoldp project URL Configuration"""
+from django.conf.urls import url,include
+from django.contrib import admin
+from .views import TotalVotes
+from djangoldp.models import Model
+from djangoldp_polls.models import PollOption
+
+urlpatterns = [
+    url(r'^polls/total_votes/(?P<pk>[0-9]+)/', TotalVotes.urls(model_prefix='total-votes',
+                                                                model=PollOption,
+                                                                permission_classes=Model.get_meta(PollOption,
+                                                                                                  'permission_classes',
+                                                                                                  []),
+                                                                fields=Model.get_meta(PollOption, 'serializer_fields',[]),
+                                                                nested_fields=Model.get_meta(PollOption, 'nested_fields', []))),
+]
\ No newline at end of file
diff --git a/djangoldp_polls/migrations/0001_initial.py b/djangoldp_polls/migrations/0001_initial.py
index a19c6423333b2fc231b58cae339e99b3863c4338..95cbb6c0daf0cd2dd8d2565d310139a667fa2620 100644
--- a/djangoldp_polls/migrations/0001_initial.py
+++ b/djangoldp_polls/migrations/0001_initial.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 10:11
+# Generated by Django 1.11.29 on 2020-08-06 02:37
 from __future__ import unicode_literals
 
 from django.conf import settings
@@ -14,41 +14,27 @@ class Migration(migrations.Migration):
 
     dependencies = [
         migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+        ('djangoldp_conversation', '0006_auto_20200617_1309'),
     ]
 
     operations = [
-        migrations.CreateModel(
-            name='Debate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)),
-                ('created_at', models.DateTimeField(auto_now_add=True)),
-                ('comment', models.TextField(verbose_name='Long description')),
-                ('author', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdDebated', to=settings.AUTH_USER_MODEL)),
-            ],
-        ),
-        migrations.CreateModel(
-            name='Option',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)),
-                ('name', models.CharField(max_length=250, verbose_name='Options available for a vote')),
-            ],
-        ),
         migrations.CreateModel(
             name='Poll',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)),
+                ('is_backlink', models.BooleanField(default=False, help_text='(DEPRECIATED) set automatically to indicate the Model is a backlink')),
+                ('allow_create_backlink', models.BooleanField(default=True, help_text='set to False to disable backlink creation after Model save')),
                 ('created_at', models.DateTimeField(auto_now_add=True)),
                 ('title', models.CharField(max_length=250, verbose_name='Title')),
                 ('image', models.URLField(blank=True, null=True, verbose_name="Illustration de l'évènement")),
                 ('hostingOrganisation', models.CharField(max_length=250, verbose_name='Name of the hosting organisation')),
+                ('startDate', models.DateField(blank=True, null=True, verbose_name='Date de début')),
                 ('endDate', models.DateField(verbose_name='Date de fin')),
                 ('shortDescription', models.CharField(max_length=250, verbose_name='Short description')),
                 ('longDescription', models.TextField(verbose_name='Long description')),
-                ('author', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdVotes', to=settings.AUTH_USER_MODEL)),
-                ('debate', models.ManyToManyField(blank=True, related_name='debate', to='djangoldp_polls.Debate')),
+                ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdVotes', to=settings.AUTH_USER_MODEL)),
+                ('debate', models.ManyToManyField(blank=True, related_name='debates', to='djangoldp_conversation.Conversation')),
             ],
         ),
         migrations.CreateModel(
@@ -56,6 +42,8 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)),
+                ('is_backlink', models.BooleanField(default=False, help_text='(DEPRECIATED) set automatically to indicate the Model is a backlink')),
+                ('allow_create_backlink', models.BooleanField(default=True, help_text='set to False to disable backlink creation after Model save')),
                 ('name', models.CharField(max_length=250, verbose_name='Options available for a vote')),
             ],
         ),
@@ -64,7 +52,9 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)),
-                ('name', models.CharField(max_length=250, verbose_name='Tags related to the vote')),
+                ('is_backlink', models.BooleanField(default=False, help_text='(DEPRECIATED) set automatically to indicate the Model is a backlink')),
+                ('allow_create_backlink', models.BooleanField(default=True, help_text='set to False to disable backlink creation after Model save')),
+                ('name', models.CharField(max_length=250, verbose_name='Name')),
             ],
         ),
         migrations.CreateModel(
@@ -72,15 +62,17 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)),
-                ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL)),
-                ('chosenOption', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='chosenOption', to='djangoldp_polls.PollOption')),
-                ('relatedPoll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='relatedPoll', to='djangoldp_polls.Poll')),
+                ('is_backlink', models.BooleanField(default=False, help_text='(DEPRECIATED) set automatically to indicate the Model is a backlink')),
+                ('allow_create_backlink', models.BooleanField(default=True, help_text='set to False to disable backlink creation after Model save')),
+                ('chosenOption', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='userVote', to='djangoldp_polls.PollOption')),
+                ('relatedPoll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='votes', to='djangoldp_polls.Poll')),
+                ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL)),
             ],
         ),
         migrations.AddField(
             model_name='poll',
             name='pollOptions',
-            field=models.ManyToManyField(blank=True, related_name='pollOptions', to='djangoldp_polls.PollOption'),
+            field=models.ManyToManyField(blank=True, related_name='relatedPollOptions', to='djangoldp_polls.PollOption'),
         ),
         migrations.AddField(
             model_name='poll',
diff --git a/djangoldp_polls/migrations/0002_auto_20200423_1035.py b/djangoldp_polls/migrations/0002_poll_circle.py
similarity index 50%
rename from djangoldp_polls/migrations/0002_auto_20200423_1035.py
rename to djangoldp_polls/migrations/0002_poll_circle.py
index 17c39864dc453e81faef78257d563beae6564c5b..55bd116af07f4cd46652c1c1115b65ac14f893cf 100644
--- a/djangoldp_polls/migrations/0002_auto_20200423_1035.py
+++ b/djangoldp_polls/migrations/0002_poll_circle.py
@@ -1,24 +1,22 @@
 # -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 10:35
+# Generated by Django 1.11.29 on 2020-08-07 14:13
 from __future__ import unicode_literals
 
 from django.db import migrations, models
+import django.db.models.deletion
 
 
 class Migration(migrations.Migration):
 
     dependencies = [
+        ('djangoldp_circle', '0009_auto_20200807_1413'),
         ('djangoldp_polls', '0001_initial'),
     ]
 
     operations = [
-        migrations.RemoveField(
-            model_name='vote',
-            name='relatedPoll',
-        ),
         migrations.AddField(
             model_name='poll',
-            name='relatedVotes',
-            field=models.ManyToManyField(blank=True, related_name='relatedVotes', to='djangoldp_polls.Vote'),
+            name='circle',
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='resources', to='djangoldp_circle.Circle'),
         ),
     ]
diff --git a/djangoldp_polls/migrations/0003_auto_20200423_1045.py b/djangoldp_polls/migrations/0003_auto_20200423_1045.py
deleted file mode 100644
index d2ee676f5864fa21360029e8eff1d0b6755b1d36..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0003_auto_20200423_1045.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 10:45
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0002_auto_20200423_1035'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='poll',
-            name='relatedVotes',
-        ),
-        migrations.AddField(
-            model_name='vote',
-            name='relatedPoll',
-            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='relatedPoll', to='djangoldp_polls.Poll'),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0004_auto_20200423_1055.py b/djangoldp_polls/migrations/0004_auto_20200423_1055.py
deleted file mode 100644
index 2eadb899b4ba199505984a07667271a68c1ae9a9..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0004_auto_20200423_1055.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 10:55
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0003_auto_20200423_1045'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='poll',
-            name='author',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdVotes', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0005_auto_20200423_1131.py b/djangoldp_polls/migrations/0005_auto_20200423_1131.py
deleted file mode 100644
index c34c507a108f4579e0790a029acfef477e7e22bd..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0005_auto_20200423_1131.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 11:31
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0004_auto_20200423_1055'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='relatedPoll',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='related_poll', to='djangoldp_polls.Poll'),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0006_auto_20200423_1152.py b/djangoldp_polls/migrations/0006_auto_20200423_1152.py
deleted file mode 100644
index a5b3223061c67abc268f43b5883c86746a0afc44..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0006_auto_20200423_1152.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 11:52
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0005_auto_20200423_1131'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='author',
-            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0007_auto_20200423_1157.py b/djangoldp_polls/migrations/0007_auto_20200423_1157.py
deleted file mode 100644
index a66f580c28d3f0baeff71b8aefef021a7603bf96..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0007_auto_20200423_1157.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 11:57
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0006_auto_20200423_1152'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='relatedPoll',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='relatedPoll', to='djangoldp_polls.Poll'),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0008_auto_20200423_1206.py b/djangoldp_polls/migrations/0008_auto_20200423_1206.py
deleted file mode 100644
index e7e41e5b1720be1d93ee5762f32556b399edefa8..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0008_auto_20200423_1206.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:06
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0007_auto_20200423_1157'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='author',
-            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0009_auto_20200423_1208.py b/djangoldp_polls/migrations/0009_auto_20200423_1208.py
deleted file mode 100644
index 7127a009517762be15f5a4746423bc52f9cbeb30..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0009_auto_20200423_1208.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:08
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0008_auto_20200423_1206'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='author',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL, unique=True),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0010_auto_20200423_1210.py b/djangoldp_polls/migrations/0010_auto_20200423_1210.py
deleted file mode 100644
index 01d61914888f717fe2cef9e906d0fc2236ab1cfd..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0010_auto_20200423_1210.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:10
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0009_auto_20200423_1208'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='author',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0011_auto_20200423_1213.py b/djangoldp_polls/migrations/0011_auto_20200423_1213.py
deleted file mode 100644
index 0b04f7d4cc9fa234187b91a932eefb14b2aec946..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0011_auto_20200423_1213.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:13
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-        ('djangoldp_polls', '0010_auto_20200423_1210'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='vote',
-            name='author',
-        ),
-        migrations.AddField(
-            model_name='vote',
-            name='user',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0012_auto_20200423_1214.py b/djangoldp_polls/migrations/0012_auto_20200423_1214.py
deleted file mode 100644
index a37590fcfaea558a0fb3ab26335e297a23897a51..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0012_auto_20200423_1214.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:14
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0011_auto_20200423_1213'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='user',
-            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0013_auto_20200423_1216.py b/djangoldp_polls/migrations/0013_auto_20200423_1216.py
deleted file mode 100644
index 06862c233b3508193a879d2ff042bd66a2a500c8..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0013_auto_20200423_1216.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:16
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0012_auto_20200423_1214'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='user',
-            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0014_auto_20200423_1217.py b/djangoldp_polls/migrations/0014_auto_20200423_1217.py
deleted file mode 100644
index 633ef108530e32a8c3f5920e577ab3a8d7497ecc..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0014_auto_20200423_1217.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:17
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-        ('djangoldp_polls', '0013_auto_20200423_1216'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='vote',
-            name='user',
-        ),
-        migrations.AddField(
-            model_name='vote',
-            name='author',
-            field=models.OneToOneField(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0015_auto_20200423_1219.py b/djangoldp_polls/migrations/0015_auto_20200423_1219.py
deleted file mode 100644
index 2e247f425087ba90654cc3503d04ccd66549900a..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0015_auto_20200423_1219.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:19
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-        ('djangoldp_polls', '0014_auto_20200423_1217'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='vote',
-            name='author',
-        ),
-        migrations.AddField(
-            model_name='vote',
-            name='user',
-            field=models.OneToOneField(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0016_auto_20200423_1220.py b/djangoldp_polls/migrations/0016_auto_20200423_1220.py
deleted file mode 100644
index a5c99631f87b6474cfa09162db7b839c35bd5428..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0016_auto_20200423_1220.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:20
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0015_auto_20200423_1219'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='user',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0017_auto_20200423_1221.py b/djangoldp_polls/migrations/0017_auto_20200423_1221.py
deleted file mode 100644
index e044ace47beaca576c17220275c9ef87b7036d6b..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0017_auto_20200423_1221.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:21
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0016_auto_20200423_1220'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='user',
-            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0018_auto_20200423_1224.py b/djangoldp_polls/migrations/0018_auto_20200423_1224.py
deleted file mode 100644
index 730d73daf4a7d922769002800c48f3d5f067aa11..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0018_auto_20200423_1224.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 12:24
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0017_auto_20200423_1221'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='vote',
-            name='user',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0019_auto_20200423_1928.py b/djangoldp_polls/migrations/0019_auto_20200423_1928.py
deleted file mode 100644
index 51dcc57ecf3cdcf55a475b8eb517cf9ee59d55ab..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0019_auto_20200423_1928.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 19:28
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0018_auto_20200423_1224'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='debate',
-            name='author',
-            field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdComment', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0020_auto_20200423_1929.py b/djangoldp_polls/migrations/0020_auto_20200423_1929.py
deleted file mode 100644
index 5c668ba8818921dab4084e59ca8a129065d87fe2..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0020_auto_20200423_1929.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 19:29
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-        ('djangoldp_polls', '0019_auto_20200423_1928'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='debate',
-            name='author',
-        ),
-        migrations.AddField(
-            model_name='debate',
-            name='commentAuthor',
-            field=models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.CASCADE, related_name='commentAuthor', to=settings.AUTH_USER_MODEL),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0021_auto_20200423_1934.py b/djangoldp_polls/migrations/0021_auto_20200423_1934.py
deleted file mode 100644
index 6e3da22d5a20c4316f9d43b0896fb5611390a60f..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0021_auto_20200423_1934.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 19:34
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-        ('djangoldp_polls', '0020_auto_20200423_1929'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='debate',
-            name='commentAuthor',
-        ),
-        migrations.AddField(
-            model_name='debate',
-            name='debateUser',
-            field=models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.CASCADE, related_name='debateUser', to=settings.AUTH_USER_MODEL),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0022_auto_20200423_1940.py b/djangoldp_polls/migrations/0022_auto_20200423_1940.py
deleted file mode 100644
index 75f2343cf125d41958172f73bb864c59aca53905..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0022_auto_20200423_1940.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 19:40
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0021_auto_20200423_1934'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='debate',
-            name='debateUser',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='debate_user', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0023_auto_20200423_1942.py b/djangoldp_polls/migrations/0023_auto_20200423_1942.py
deleted file mode 100644
index 47acc3e7f0cf9063b9bbfda5969228f127b43ca7..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0023_auto_20200423_1942.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 19:42
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('djangoldp_polls', '0022_auto_20200423_1940'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='debate',
-            name='debateUser',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='debate_user', to=settings.AUTH_USER_MODEL),
-        ),
-    ]
diff --git a/djangoldp_polls/migrations/0024_auto_20200423_1959.py b/djangoldp_polls/migrations/0024_auto_20200423_1959.py
deleted file mode 100644
index 8e13e3f00b478ab856daf55b532d11f6ad20de1d..0000000000000000000000000000000000000000
--- a/djangoldp_polls/migrations/0024_auto_20200423_1959.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.26 on 2020-04-23 19:59
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-        ('djangoldp_polls', '0023_auto_20200423_1942'),
-    ]
-
-    operations = [
-        migrations.DeleteModel(
-            name='Option',
-        ),
-        migrations.RemoveField(
-            model_name='debate',
-            name='debateUser',
-        ),
-        migrations.AddField(
-            model_name='debate',
-            name='author',
-            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='debate_author', to=settings.AUTH_USER_MODEL),
-            preserve_default=False,
-        ),
-    ]
diff --git a/djangoldp_polls/models.py b/djangoldp_polls/models.py
index 42f5fb7ecf407915b2cacce38e4ccef86ac7e440..96f5518ae84a6ccf80c1ca4f2ac0822b6997cff0 100644
--- a/djangoldp_polls/models.py
+++ b/djangoldp_polls/models.py
@@ -5,6 +5,8 @@ from djangoldp.models import Model
 from django.contrib.auth import get_user_model
 from django.db.models import Sum
 
+from djangoldp_conversation.models import Conversation
+from djangoldp_circle.models import Circle
 
 User = get_user_model()
 User.name=User.get_full_name
@@ -16,82 +18,65 @@ User.name=User.get_full_name
 #========================
 
 class Tag (Model):
-    name = models.CharField(max_length=250,verbose_name="Tags related to the vote")
+	name = models.CharField(max_length=250,verbose_name="Name")
 
-    class Meta :
-        serializer_fields = ['@id','name']
-        anonymous_perms = ['view']
-        authenticated_perms = ['inherit','add']
+	class Meta :
+		serializer_fields = ['@id','name']
+		anonymous_perms = ['view']
+		authenticated_perms = ['inherit','add']
 
-    def __str__(self):
-        return self.name
+	def __str__(self):
+		return self.name
 
 
 class PollOption (Model):
-    name = models.CharField(max_length=250,verbose_name="Options available for a vote")
+	name = models.CharField(max_length=250,verbose_name="Options available for a vote")
 
-    class Meta :
-        serializer_fields = ['@id','name']
-        nested_fields = []
-        anonymous_perms = ['view','add']
-        authenticated_perms =  ['inherit','add']
+	class Meta :
+		serializer_fields = ['@id','name']
+		nested_fields = ['userVote','relatedPollOptions']
+		anonymous_perms = ['view','add']
+		authenticated_perms =  ['inherit','add']
 
 
-    def __str__(self):
-        return self.name
-
-
-class Debate (Model):
-    created_at = models.DateTimeField(auto_now_add=True)
-    author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='debate_author')
-    comment = models.TextField(verbose_name="Long description")
-    #likes = key to likes model
-
-    class Meta :
-        auto_author = "author"
-        serializer_fields = ['@id','comment','author']
-        nested_fields = []
-        anonymous_perms = ['view','add']
-        authenticated_perms =  ['inherit','add']
-
-
-    def __str__(self):
-        return self.comment
-
+	def __str__(self):
+		return self.name
 
 class Poll (Model):
-    created_at = models.DateTimeField(auto_now_add=True)
-    author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='createdVotes', null=True,blank=True)
-    title = models.CharField(max_length=250,verbose_name="Title")
-    image = models.URLField(blank=True, null=True, verbose_name="Illustration de l'évènement")
-    hostingOrganisation = models.CharField(max_length=250,verbose_name="Name of the hosting organisation")
-    endDate =  models.DateField(verbose_name="Date de fin" )
-    shortDescription = models.CharField(max_length=250,verbose_name="Short description")
-    longDescription = models.TextField(verbose_name="Long description")
-    tags = models.ManyToManyField(Tag, related_name='tags', blank=True)
-    pollOptions = models.ManyToManyField(PollOption, related_name='pollOptions', blank=True)
-    debate = models.ManyToManyField(Debate, related_name='debate', blank=True)
-    #relatedVotes = models.ManyToManyField(Vote, related_name='relatedVotes', blank=True)
-
-    class Meta : 
-        serializer_fields = ['@id','created_at','votes','debate','author','title','image','hostingOrganisation','endDate','shortDescription','longDescription','tags']
-        nested_fields = ['tags','debate','votes']
-        anonymous_perms = ['view','add','change']
-        authenticated_perms = ['inherit','add']
-
-    def __str__(self):
-        return self.title
+	created_at = models.DateTimeField(auto_now_add=True)
+	author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='createdVotes', null=True,blank=True)
+	title = models.CharField(max_length=250,verbose_name="Title")
+	image = models.URLField(blank=True, null=True, verbose_name="Illustration de l'évènement")
+	hostingOrganisation = models.CharField(max_length=250,verbose_name="Name of the hosting organisation")
+	startDate = models.DateField(verbose_name="Date de début", blank=True, null=True ) 
+	endDate =  models.DateField(verbose_name="Date de fin" )
+	shortDescription = models.CharField(max_length=250,verbose_name="Short description")
+	longDescription = models.TextField(verbose_name="Long description")
+	tags = models.ManyToManyField(Tag, related_name='tags', blank=True)
+	pollOptions = models.ManyToManyField(PollOption, related_name='relatedPollOptions', blank=True)
+	debate = models.ManyToManyField(Conversation, related_name='debates', blank=True)
+	circle = models.ForeignKey(Circle, null=True, related_name="resources")
+
+	class Meta : 
+		serializer_fields = ['@id','created_at','debate','pollOptions','votes','author','title','image','hostingOrganisation','startDate','endDate','shortDescription','longDescription','tags']
+		nested_fields = ['tags','votes','pollOptions','debate']
+		anonymous_perms = ['view','add','change']
+		authenticated_perms = ['inherit','add']
+
+	def __str__(self):
+		return self.title
 
 
 
 class Vote (Model):
-    user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='user')
-    chosenOption =  models.ForeignKey(PollOption, related_name='userVote')
-    relatedPoll = models.ForeignKey(Poll, related_name='votes')
-
-    class Meta :
-        auto_author = "user"
-        serializer_fields = ['@id','chosenOption','relatedPoll']
-        nested_fields = []
-        anonymous_perms = ['view','add','change']
-        authenticated_perms =  ['inherit','add']
\ No newline at end of file
+	user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='user',null=True,blank=True)
+	chosenOption =  models.ForeignKey(PollOption, related_name='userVote')
+	relatedPoll = models.ForeignKey(Poll, related_name='votes')
+
+	class Meta :
+		auto_author = "user"
+		serializer_fields = ['@id','chosenOption','relatedPoll']
+		nested_fields = []
+		anonymous_perms = ['view','add','change']
+		authenticated_perms =  ['inherit','add']
+	
\ No newline at end of file
diff --git a/djangoldp_polls/serializers.py b/djangoldp_polls/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..7bf3e4520d7eaace879efd64f1675603237e3adf
--- /dev/null
+++ b/djangoldp_polls/serializers.py
@@ -0,0 +1,15 @@
+from rest_framework import serializers
+from djangoldp.serializers import LDPSerializer
+from djangoldp_polls.models import PollOption
+
+
+class PollOptionSerializer(LDPSerializer):
+    total_votes = serializers.SerializerMethodField()
+
+    class Meta:
+        model = PollOption
+        fields = ['urlid','name', 'total_votes']
+
+    def get_total_votes(self, obj):
+        votes_queryset = self.context.get("votes_queryset")
+        return votes_queryset.filter(chosenOption=obj).count()
diff --git a/djangoldp_polls/views.py b/djangoldp_polls/views.py
index b673be86c39d68161291f28e2864cc030d7f87ba..d6cbe8a4c74eabdcd80a700a55fb41729eabe35c 100644
--- a/djangoldp_polls/views.py
+++ b/djangoldp_polls/views.py
@@ -1,20 +1,46 @@
+from django.http import Http404
+
 from djangoldp.views import LDPViewSet
 from datetime import datetime
-from .models import Poll
+from rest_framework import status
+from rest_framework.views import APIView
+from rest_framework.response import Response
+
+from .models import Poll,Vote
+from .serializers import PollOptionSerializer
+
 
 class FuturePollViewset(LDPViewSet):
     model = Poll
+
     def get_queryset(self):
         return super().get_queryset().filter(enddate__gte=datetime.now())
 
-class TotalVotes(APIView) : 
-	poll = Poll.objects.get(pk=pk)
-	# gets all votes for this poll
-	votes = poll.votes.all()
-	choices = []
 
-	for choice in poll.userVote.all():
-	     total_votes = votes.filter(chosenOption=choice).count()
-	     choices.append((choice.name, total_votes))
+class TotalVotes(LDPViewSet):
+    '''view to GET the total counts of votes selecting a particular option'''
+
+    def _get_poll_or_404(self):
+        pk = self.kwargs['pk']
+
+        try:
+            return Poll.objects.get(pk=pk)
+        except Poll.DoesNotExist:
+            raise Http404('could not get a Poll with this ID!')
+
+    def get_serializer_context(self):
+        poll = self._get_poll_or_404()
+
+        votes = poll.votes.all()
+        context = super().get_serializer_context()
+        context.update({'votes_queryset': votes})
+        return context
+
+    def get_queryset(self, *args, **kwargs):
+        poll = self._get_poll_or_404()
+        return poll.pollOptions.all()
 
-	# return response with choices in content
+    def get_serializer_class(self):
+        # NOTE: this is required because currently DjangoLDP overrides the serializer_class during __init__
+        # https://git.startinblox.com/djangoldp-packages/djangoldp/issues/241
+        return PollOptionSerializer