Less code, more tests.
diff --git a/cryptography/c/api.py b/cryptography/c/api.py
index a5aa272..ea8827f 100644
--- a/cryptography/c/api.py
+++ b/cryptography/c/api.py
@@ -13,136 +13,9 @@
 
 from __future__ import absolute_import, division, print_function
 
-import atexit
-from collections import namedtuple
-
-from cffi import FFI
-
 
 class API(object):
     """OpenSSL API wrapper."""
 
-    SSLVersion = namedtuple('SSLVersion',
-        ['major', 'minor', 'fix', 'patch', 'status']
-    )
-
-    _modules = [
-    ]
-
-    def __init__(self):
-        self.ffi = FFI()
-        self.INCLUDES = []
-        self.TYPES = []
-        self.FUNCTIONS = []
-        self.C_CUSTOMIZATION = []
-        self.OVERRIDES = []
-        self.SETUP = []
-        self.TEARDOWN = []
-        self._import()
-        self._define()
-        self._verify()
-        self._override()
-        self._populate()
-        self._initialise()
-
-    def _import(self):
-        "import all library definitions"
-        for name in self._modules:
-            module = __import__(__name__ + '.' + name, fromlist=['*'])
-            self._import_definitions(module, 'INCLUDES')
-            self._import_definitions(module, 'TYPES')
-            self._import_definitions(module, 'FUNCTIONS')
-            self._import_definitions(module, 'C_CUSTOMIZATION')
-            self._import_definitions(module, 'OVERRIDES')
-            self._import_definitions(module, 'SETUP')
-            self._import_definitions(module, 'TEARDOWN')
-
-    def _import_definitions(self, module, name):
-        "import defintions named definitions from module"
-        container = getattr(self, name)
-        for definition in getattr(module, name, ()):
-            if definition not in container:
-                container.append(definition)
-
-    def _define(self):
-        "parse function definitions"
-        for typedef in self.TYPES:
-            self.ffi.cdef(typedef)
-        for function in self.FUNCTIONS:
-            self.ffi.cdef(function)
-
-    def _verify(self):
-        "load openssl, create function attributes"
-        self.openssl = self.ffi.verify(
-            source="\n".join(self.INCLUDES + self.C_CUSTOMIZATION),
-            # ext_package must agree with the value in setup.py
-            ext_package="tls",
-            extra_compile_args=[
-                '-Wno-deprecated-declarations',
-            ],
-            libraries=['ssl']
-        )
-
-    def _override(self):
-        """
-        Create any Python-level overrides of the cffi-based wrappers.
-        """
-        self._overrides = {}
-        for func in self.OVERRIDES:
-            name = func.__name__
-            from_openssl = getattr(self.openssl, name)
-            override = func(self.openssl, from_openssl)
-            self._overrides[name] = override
-
-    def _populate(self):
-        """
-        Bind some aliases for FFI APIs on self.
-        """
-        self.NULL = self.ffi.NULL
-        self.buffer = self.ffi.buffer
-        self.callback = self.ffi.callback
-        self.cast = self.ffi.cast
-        self.new = self.ffi.new
-        self.gc = self.ffi.gc
-        self.string = self.ffi.string
-
-    def __getattr__(self, name):
-        """
-        Try to resolve any attribute that does not exist on self as an
-        attribute of the OpenSSL FFI object (in other words, as an OpenSSL
-        API).
-        """
-        return self._overrides.get(name, getattr(self.openssl, name))
-
-    def _initialise(self):
-        "initialise openssl, schedule cleanup at exit"
-        for function in self.SETUP:
-            getattr(self, function)()
-        for function in self.TEARDOWN:
-            atexit.register(getattr(self, function))
-
-    def version_info(self):
-        "Return SSL version information"
-        version = self.SSLeay()
-        major = version >> (7 * 4) & 0xFF
-        minor = version >> (5 * 4) & 0xFF
-        fix = version >> (3 * 4) & 0xFF
-        patch = version >> (1 * 4) & 0xFF
-        patch = '' if not patch else chr(96 + patch)
-        status = version & 0x0F
-        if status == 0x0F:
-            status = 'release'
-        elif status == 0x00:
-            status = 'dev'
-        else:
-            status = 'beta{}'.format(status)
-        return self.SSLVersion(major, minor, fix, patch, status)
-
-    def version(self, detail=None):
-        "Return SSL version string"
-        detail = self.SSLEAY_VERSION if detail is None else detail
-        buff = self.SSLeay_version(detail)
-        return self.string(buff)
-
 
 api = API()
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/__init__.py
diff --git a/tests/test_c.py b/tests/test_c.py
new file mode 100644
index 0000000..c50968e
--- /dev/null
+++ b/tests/test_c.py
@@ -0,0 +1,6 @@
+from cryptography.c import api
+
+
+class TestC(object):
+    def test_api_exists(self):
+        assert api