diff --git a/plstackapi/core/api/keys.py b/plstackapi/core/api/keys.py
index ad54041..3b70cac 100644
--- a/plstackapi/core/api/keys.py
+++ b/plstackapi/core/api/keys.py
@@ -2,7 +2,7 @@
 from plstackapi.openstack.client import OpenStackClient
 from plstackapi.openstack.driver import OpenStackDriver
 from plstackapi.core.api.auth import auth_check
-from plstackapi.core.models import Key, User
+from plstackapi.core.models import Key
 from plstackapi.core.api.users import _get_users
 
 
diff --git a/plstackapi/core/api/site_privileges.py b/plstackapi/core/api/site_privileges.py
index 73280c6..ac56dd1 100644
--- a/plstackapi/core/api/site_privileges.py
+++ b/plstackapi/core/api/site_privileges.py
@@ -3,7 +3,7 @@
 from plstackapi.openstack.client import OpenStackClient
 from plstackapi.openstack.driver import OpenStackDriver
 from plstackapi.core.api.auth import auth_check
-from plstackapi.core.models import SitePrivilege, Site, Role, User
+from plstackapi.core.models import SitePrivilege
 from plstackapi.core.api.users import _get_users
 from plstackapi.core.api.sites import _get_sites
 from plstackapi.core.api.roles import _get_roles
diff --git a/plstackapi/core/api/slice_memberships.py b/plstackapi/core/api/slice_memberships.py
index 54a1cba..431552d 100644
--- a/plstackapi/core/api/slice_memberships.py
+++ b/plstackapi/core/api/slice_memberships.py
@@ -2,7 +2,7 @@
 from plstackapi.openstack.client import OpenStackClient
 from plstackapi.openstack.driver import OpenStackDriver
 from plstackapi.core.api.auth import auth_check
-from plstackapi.core.models import SliceMembership, Slice, Role, User
+from plstackapi.core.models import SliceMembership
 from plstackapi.core.api.users import _get_users
 from plstackapi.core.api.slices import _get_slices
 from plstackapi.core.api.roles import _get_roles
diff --git a/plstackapi/core/api/users.py b/plstackapi/core/api/users.py
index 7483c37..5b89389 100644
--- a/plstackapi/core/api/users.py
+++ b/plstackapi/core/api/users.py
@@ -2,18 +2,18 @@
 from plstackapi.openstack.client import OpenStackClient
 from plstackapi.openstack.driver import OpenStackDriver
 from plstackapi.core.api.auth import auth_check
-from plstackapi.core.models import User, Site
+from plstackapi.core.models import PLUser, Site
 from plstackapi.core.api.sites import _get_sites
 
 def _get_users(filter):
     if isinstance(filter, StringTypes) and filter.isdigit():
         filter = int(filter)
     if isinstance(filter, int):
-        users = User.objects.filter(id=filter)
+        users = PLUser.objects.filter(id=filter)
     elif isinstance(filter, StringTypes):
-        users = User.objects.filter(email=filter)
+        users = PLUser.objects.filter(email=filter)
     elif isinstance(filter, dict):
-        users = User.objects.filter(**filter)
+        users = PLUser.objects.filter(**filter)
     else:
         users = []
     return users 
@@ -22,7 +22,7 @@
     driver = OpenStackDriver(client = auth_check(auth))
     sites = _get_sites(fields.get('site')) 
     if sites: fields['site'] = sites[0]     
-    user = User(**fields)
+    user = PLUser(**fields)
     nova_fields = {'name': user.email[:user.email.find('@')],
                    'email': user.email, 
                    'password': fields.get('password'),
@@ -35,7 +35,7 @@
 
 def update_user(auth, id, **fields):
     driver = OpenStackDriver(client = auth_check(auth))
-    users = User.objects.filter(id=id)
+    users = PLUser.objects.filter(id=id)
     if not users:
         return
 
