diff --git a/Lib/codecs.py b/Lib/codecs.py
index b150d64..ec7879f 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -345,6 +345,8 @@
             The set of allowed parameter values can be extended via
             register_error.
         """
+        import warnings
+        warnings.warn('use io.TextIOWrapper', DeprecationWarning, stacklevel=2)
         self.stream = stream
         self.errors = errors
 
@@ -416,6 +418,8 @@
             The set of allowed parameter values can be extended via
             register_error.
         """
+        import warnings
+        warnings.warn('use io.TextIOWrapper', DeprecationWarning, stacklevel=2)
         self.stream = stream
         self.errors = errors
         self.bytebuffer = b""
@@ -846,7 +850,7 @@
 
 ### Shortcuts
 
-def open(filename, mode='rb', encoding=None, errors='strict', buffering=1):
+def open(filename, mode='r', encoding=None, errors=None, buffering=1):
 
     """ Open an encoded file using the given mode and return
         a wrapped version providing transparent encoding/decoding.
@@ -877,18 +881,13 @@
         parameter.
 
     """
-    if encoding is not None and \
-       'b' not in mode:
-        # Force opening of the file in binary mode
-        mode = mode + 'b'
-    file = builtins.open(filename, mode, buffering)
-    if encoding is None:
-        return file
-    info = lookup(encoding)
-    srw = StreamReaderWriter(file, info.streamreader, info.streamwriter, errors)
-    # Add attributes to simplify introspection
-    srw.encoding = encoding
-    return srw
+    if encoding is not None:
+        return builtins.open(filename, mode, buffering,
+                             encoding, errors, newline='')
+    else:
+        if 'b' not in mode:
+            mode = mode + 'b'
+        return builtins.open(filename, mode, buffering, encoding, errors)
 
 def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
 
