export interfaces from base in ciphers, update docs
diff --git a/docs/hazmat/backends/interfaces.rst b/docs/hazmat/backends/interfaces.rst
index 2f4cdd3..407140b 100644
--- a/docs/hazmat/backends/interfaces.rst
+++ b/docs/hazmat/backends/interfaces.rst
@@ -30,7 +30,7 @@
         this backend.
 
         :param cipher: An instance of a
-            :class:`~cryptography.hazmat.primitives.ciphers.base.CipherAlgorithm`
+            :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`
             provider.
         :param mode: An instance of a
             :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode` provider.
@@ -42,18 +42,18 @@
     .. method:: create_symmetric_encryption_ctx(cipher, mode)
 
         Create a
-        :class:`~cryptography.hazmat.primitives.ciphers.base.CipherContext` that
+        :class:`~cryptography.hazmat.primitives.ciphers.CipherContext` that
         can be used for encrypting data with the symmetric ``cipher`` using
         the given ``mode``.
 
         :param cipher: An instance of a
-            :class:`~cryptography.hazmat.primitives.ciphers.base.CipherAlgorithm`
+            :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`
             provider.
         :param mode: An instance of a
             :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode` provider.
 
         :returns:
-            :class:`~cryptography.hazmat.primitives.ciphers.base.CipherContext`
+            :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`
 
         :raises ValueError: When tag is not None in an AEAD mode
 
@@ -61,18 +61,18 @@
     .. method:: create_symmetric_decryption_ctx(cipher, mode)
 
         Create a
-        :class:`~cryptography.hazmat.primitives.ciphers.base.CipherContext` that
+        :class:`~cryptography.hazmat.primitives.ciphers.CipherContext` that
         can be used for decrypting data with the symmetric ``cipher`` using
         the given ``mode``.
 
         :param cipher: An instance of a
-            :class:`~cryptography.hazmat.primitives.ciphers.base.CipherAlgorithm`
+            :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`
             provider.
         :param mode: An instance of a
             :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode` provider.
 
         :returns:
-            :class:`~cryptography.hazmat.primitives.ciphers.base.CipherContext`
+            :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`
 
         :raises ValueError: When tag is None in an AEAD mode
 
@@ -157,7 +157,7 @@
     .. method:: cmac_algorithm_supported(algorithm)
 
         :param algorithm: An instance of a
-            :class:`~cryptography.hazmat.primitives.ciphers.base.BlockCipherAlgorithm`
+            :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm`
             provider.
         :return: Returns True if the block cipher is supported for CMAC by this backend
 
@@ -168,7 +168,7 @@
         uses the specified ``algorithm`` to calculate a message authentication code.
 
         :param algorithm: An instance of a
-            :class:`~cryptography.hazmat.primitives.ciphers.base.BlockCipherAlgorithm`
+            :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm`
             provider.
 
         :returns:
diff --git a/docs/hazmat/primitives/mac/cmac.rst b/docs/hazmat/primitives/mac/cmac.rst
index 14e1842..e04a849 100644
--- a/docs/hazmat/primitives/mac/cmac.rst
+++ b/docs/hazmat/primitives/mac/cmac.rst
@@ -22,7 +22,7 @@
     .. versionadded:: 0.4
 
     CMAC objects take a
-    :class:`~cryptography.hazmat.primitives.ciphers.base.BlockCipherAlgorithm` provider.
+    :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm` provider.
 
     .. doctest::
 
@@ -39,7 +39,7 @@
     raised.
 
     If ``algorithm`` isn't a
-    :class:`~cryptography.hazmat.primitives.ciphers.base.BlockCipherAlgorithm`
+    :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm`
     provider then ``TypeError`` will be raised.
 
     To check that a given signature is correct use the :meth:`verify` method.
@@ -55,13 +55,13 @@
         cryptography.exceptions.InvalidSignature: Signature did not match digest.
 
     :param algorithm: An
-        :class:`~cryptography.hazmat.primitives.ciphers.base.BlockCipherAlgorithm`
+        :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm`
         provider.
     :param backend: An
         :class:`~cryptography.hazmat.backends.interfaces.CMACBackend`
         provider.
     :raises TypeError: This is raised if the provided ``algorithm`` is not an instance of
-        :class:`~cryptography.hazmat.primitives.ciphers.base.BlockCipherAlgorithm`
+        :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm`
     :raises cryptography.exceptions.UnsupportedAlgorithm: This is raised if the
         provided ``backend`` does not implement
         :class:`~cryptography.hazmat.backends.interfaces.CMACBackend`
diff --git a/docs/hazmat/primitives/symmetric-encryption.rst b/docs/hazmat/primitives/symmetric-encryption.rst
index d47035d..1cbf60e 100644
--- a/docs/hazmat/primitives/symmetric-encryption.rst
+++ b/docs/hazmat/primitives/symmetric-encryption.rst
@@ -4,7 +4,7 @@
 Symmetric encryption
 ====================
 
-.. currentmodule:: cryptography.hazmat.primitives.ciphers
+.. module:: cryptography.hazmat.primitives.ciphers
 
 
 Symmetric encryption is a way to `encrypt`_ or hide the contents of material
@@ -43,7 +43,7 @@
         'a secret message'
 
     :param algorithms: A
-        :class:`~cryptography.hazmat.primitives.ciphers.base.CipherAlgorithm`
+        :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`
         provider such as those described
         :ref:`below <symmetric-encryption-algorithms>`.
     :param mode: A :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode`
@@ -60,7 +60,7 @@
     .. method:: encryptor()
 
         :return: An encrypting
-            :class:`~cryptography.hazmat.primitives.ciphers.base.CipherContext`
+            :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`
             provider.
 
         If the backend doesn't support the requested combination of ``cipher``
@@ -70,7 +70,7 @@
     .. method:: decryptor()
 
         :return: A decrypting
-            :class:`~cryptography.hazmat.primitives.ciphers.base.CipherContext`
+            :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`
             provider.
 
         If the backend doesn't support the requested combination of ``cipher``
@@ -293,7 +293,7 @@
     .. danger::
 
         When using this mode you **must** not use the decrypted data until
-        :meth:`~cryptography.hazmat.primitives.ciphers.base.CipherContext.finalize`
+        :meth:`~cryptography.hazmat.primitives.ciphers.CipherContext.finalize`
         has been called. GCM provides **no** guarantees of ciphertext integrity
         until decryption is complete.
 
@@ -423,7 +423,7 @@
 Interfaces
 ----------
 
-.. module:: cryptography.hazmat.primitives.ciphers.base
+.. currentmodule:: cryptography.hazmat.primitives.ciphers
 
 .. class:: CipherContext