fix: avoid Python 3 syntax in aio module

fixes #123 and fixes #128
diff --git a/CHANGES.rst b/CHANGES.rst
index fbb8ce2..ffc65d7 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -636,6 +636,7 @@
 - [#122] fix bug in FramedPacket
 - [#127] The Serial class in the .NET/Mono (IronPython) backend does not
   implement the _reconfigure_port method
+- [#123, #128] Avoid Python 3 syntax in aio module
 
 Bugfixes (posix):
 
diff --git a/serial/aio.py b/serial/aio.py
index 85a1bb8..9dd5215 100644
--- a/serial/aio.py
+++ b/serial/aio.py
@@ -362,10 +362,7 @@
 
 
 @asyncio.coroutine
-def open_serial_connection(*,
-                           loop=None,
-                           limit=asyncio.streams._DEFAULT_LIMIT,
-                           **kwargs):
+def open_serial_connection(**kwargs):
     """A wrapper for create_serial_connection() returning a (reader,
     writer) pair.
 
@@ -379,16 +376,22 @@
 
     This function is a coroutine.
     """
-    if loop is None:
-        loop = asyncio.get_event_loop()
+    # in order to avoid errors when pySerial is installed uner Python 2,
+    # avoid Pyhthon 3 syntax here. So do not use this function as a good
+    # example!
+    loop = kwargs.get('loop', asyncio.get_event_loop())
+    limit = kwargs.get('limit', asyncio.streams._DEFAULT_LIMIT)
     reader = asyncio.StreamReader(limit=limit, loop=loop)
     protocol = asyncio.StreamReaderProtocol(reader, loop=loop)
-    transport, _ = yield from create_serial_connection(
-        loop=loop,
-        protocol_factory=lambda: protocol,
-        **kwargs)
+    # in Python 3 we would write "yield transport, _ from c()"
+    for transport, _ in create_serial_connection(
+            loop=loop,
+            protocol_factory=lambda: protocol,
+            **kwargs):
+        yield transport, _
     writer = asyncio.StreamWriter(transport, protocol, reader, loop)
-    return reader, writer
+    # in Python 3 we would write "return reader, writer"
+    raise StopIteration(reader, writer)
 
 
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -