diff --git a/serial/urlhandler/protocol_alt.py b/serial/urlhandler/protocol_alt.py
new file mode 100644
index 0000000..3a7a0e0
--- /dev/null
+++ b/serial/urlhandler/protocol_alt.py
@@ -0,0 +1,51 @@
+#! python
+#
+# Python Serial Port Extension for Win32, Linux, BSD, Jython
+# see __init__.py
+#
+# This module implements a special URL handler that allows selection of
+# alternate implementation provided by some backends.
+#
+# (C) 2015 Chris Liechti <cliechti@gmx.net>
+#
+# SPDX-License-Identifier:    BSD-3-Clause
+#
+# URL format:    alt://port[?option[=value][&option[=value]]]
+# options:
+# - class=X used class named X instead of Serial
+#
+# example:
+#   use poll based implementation on Posix (Linux):
+#   python -m serial.tools.miniterm alt:///dev/ttyUSB0?class=PosixPollSerial
+
+import sys
+import time
+
+import serial
+
+try:
+    import urlparse
+except ImportError:
+    import urllib.parse as urlparse
+
+
+def serial_class_for_url(url):
+    """extract host and port from an URL string"""
+    parts = urlparse.urlsplit(url)
+    if parts.scheme != 'alt':
+        raise serial.SerialException('expected a string in the form "alt://port[?option[=value][&option[=value]]]": not starting with alt:// (%r)' % (parts.scheme,))
+    class_name = 'Serial'
+    try:
+        for option, values in urlparse.parse_qs(parts.query, True).items():
+            if option == 'class':
+                class_name = values[0]
+            else:
+                raise ValueError('unknown option: %r' % (option,))
+    except ValueError as e:
+        raise serial.SerialException('expected a string in the form "alt://port[?option[=value][&option[=value]]]": %s' % e)
+    return (''.join([parts.netloc, parts.path]), getattr(serial, class_name))
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+if __name__ == '__main__':
+    s = serial_for_url('alt:///dev/ttyS0?class=PosixPollSerial')
+    print(s)
