diff --git a/djangoldp_profile/models.py b/djangoldp_profile/models.py
index aef060eec38520461fa07e8fd065784a0db350cb..aa915aede0dbe4be5995477eb4418910f3e04a1e 100644
--- a/djangoldp_profile/models.py
+++ b/djangoldp_profile/models.py
@@ -3,6 +3,7 @@ from django.core.urlresolvers import reverse_lazy
 from django.db import models
 from django.db.models.signals import post_save
 from django.dispatch import receiver
+from importlib import import_module
 
 from djangoldp.models import Model
 from djangoldp_skill.models import Skill
@@ -54,6 +55,22 @@ class Contact(Model):
     def __str__(self):
         return self.fullName
 
+# allow other modules to add nested fields to Profile
+djangoldp_modules = list(settings.DJANGOLDP_PACKAGES)
+profile_fields = ['@id', 'user', 'bio', 'slug', 'available', 'job', 'website', 'address', 'skills', 'jabberID', 'name', 'givenName', 'familyName', 'phone']
+profile_nested_fields = []
+for dldp_module in djangoldp_modules:
+    try:
+        module_profile_nested_fields = import_module(dldp_module + '.settings').PROFILE_NESTED_FIELDS
+        profile_fields += module_profile_nested_fields
+        profile_nested_fields += module_profile_nested_fields
+    except:
+        pass
+
+s_fields = []
+s_fields.extend(profile_fields)
+s_fields.extend(profile_nested_fields)
+
 class Profile(Model):
     user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="profile")
     bio = models.CharField(max_length=2048, blank=True)
@@ -75,6 +92,8 @@ class Profile(Model):
         authenticated_perms = ['inherit']
         owner_perms = ['inherit', 'change']
         lookup_field = 'slug'
+        nested_fields = profile_nested_fields
+        serializer_fields = s_fields
         rdf_type = 'foaf:Person'
         rdf_context = {
             'foaf': "http://xmlns.com/foaf/0.1/",