diff --git a/planetstack/core/views/deployment_networks.py b/planetstack/core/views/deployment_networks.py
index 63220a4..ef569ac 100644
--- a/planetstack/core/views/deployment_networks.py
+++ b/planetstack/core/views/deployment_networks.py
@@ -4,11 +4,11 @@
 from rest_framework import status
 
 from core.api.deployment_networks import add_deployment_network, delete_deployment_network, get_deployment_networks
-from core.serializers import DeploymentNetworkSerializer
+from core.serializers import DeploymentSerializer
 from util.request import parse_request
 
 
-class DeploymentNetworkListCreate(APIView):
+class DeploymentListCreate(APIView):
     """ 
     List all deployment networks or create a new role.
     """
@@ -20,15 +20,15 @@
         elif 'deploymentNetwork' in data:
         
             deployment = add_deployment_network(data['auth'], data['deploymentNetwork'].get('name'))
-            serializer = DeploymentNetworkSerializer(deployment)
+            serializer = DeploymentSerializer(deployment)
             return Response(serializer.data, status=status.HTTP_201_CREATED)
         else:
             deployment_networks = get_deployment_networks(data['auth'])
-            serializer = DeploymentNetworkSerializer(deployment_networks, many=True)
+            serializer = DeploymentSerializer(deployment_networks, many=True)
             return Response(serializer.data)
         
             
-class DeploymentNetworkRetrieveUpdateDestroy(APIView):
+class DeploymentRetrieveUpdateDestroy(APIView):
     """
     Retrieve, update or delete a deployment network 
     """
@@ -41,7 +41,7 @@
         deployment_networks = get_deployment_networks(data['auth'], pk)
         if not deployment_networks:
             return Response(status=status.HTTP_404_NOT_FOUND)
-        serializer = DeploymentNetworkSerializer(deployment_networks[0])
+        serializer = DeploymentSerializer(deployment_networks[0])
         return Response(serializer.data)                  
 
     def put(self, request, pk, format=None):
