diff --git a/_modules/neutronv2/subnets.py b/_modules/neutronv2/subnets.py
index 3a29969..7388584 100644
--- a/_modules/neutronv2/subnets.py
+++ b/_modules/neutronv2/subnets.py
@@ -1,21 +1,13 @@
-from neutronv2.common import send, get_by_name_or_uuid
-from neutronv2 import networks
+from neutronv2.common import send
+from neutronv2.arg_converter import get_by_name_or_uuid_multiple
+
 try:
     from urllib.parse import urlencode
 except ImportError:
     from urllib import urlencode
 
-RESOURCE_LIST_KEY = 'subnets'
 
-
-@send('get')
-def subnet_list(**kwargs):
-    url = '/subnets?{}'.format(urlencode(kwargs))
-    return url, {}
-
-
-@get_by_name_or_uuid(networks.network_list, networks.RESOURCE_LIST_KEY,
-                     res_id_key='network_id')
+@get_by_name_or_uuid_multiple([('network', 'network_id')])
 @send('post')
 def subnet_create(network_id, ip_version, cidr, **kwargs):
     url = '/subnets'
@@ -39,14 +31,14 @@
     return url, {'json': json}
 
 
-@get_by_name_or_uuid(subnet_list, RESOURCE_LIST_KEY)
+@get_by_name_or_uuid_multiple([('subnet', 'subnet_id')])
 @send('get')
 def subnet_get_details(subnet_id, **kwargs):
     url = '/subnets/{}'.format(subnet_id)
     return url, {}
 
 
-@get_by_name_or_uuid(subnet_list, RESOURCE_LIST_KEY)
+@get_by_name_or_uuid_multiple([('subnet', 'subnet_id')])
 @send('put')
 def subnet_update(subnet_id, **kwargs):
     url = '/subnets/{}'.format(subnet_id)
@@ -56,7 +48,7 @@
     return url, {'json': json}
 
 
-@get_by_name_or_uuid(subnet_list, RESOURCE_LIST_KEY)
+@get_by_name_or_uuid_multiple([('subnet', 'subnet_id')])
 @send('delete')
 def subnet_delete(subnet_id, **kwargs):
     url = '/subnets/{}'.format(subnet_id)
