def METHOD_NAME(parent_package='', top_path=None):
    from numpy.distutils.core import Extension
    from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs
    cur_dir = os.path.dirname(__file__)
    ext = Extension(name='.'.join([parent_package, 'experimental', '_octree']),
                    sources=[os.path.join(cur_dir, '_octree.pyx')],
                    include_dirs= get_numpy_include_dirs() + extra_include_dirs,
                    extra_compile_args=['-O3', '-fno-exceptions', '-ffast-math'],# '-march=native', '-mtune=native'],
                    extra_link_args=linkArgs)
    ext2 = Extension(name='.'.join([parent_package, 'experimental', '_treap']),
                    sources=[os.path.join(cur_dir, '_treap.pyx')],
                    include_dirs= get_numpy_include_dirs() + extra_include_dirs,
                    extra_compile_args=['-O3', '-fno-exceptions', '-ffast-math'],# '-march=native', '-mtune=native'],
                    extra_link_args=linkArgs)
    ext3 = Extension(name='.'.join([parent_package, 'experimental', '_triangle_mesh']),
                    sources=[os.path.join(cur_dir, '_triangle_mesh.pyx')],
                    include_dirs= get_numpy_include_dirs() + extra_include_dirs,
                    extra_compile_args=['-O3', '-fno-exceptions', '-ffast-math'],# '-march=native', '-mtune=native'],
                    extra_link_args=linkArgs)
    ext4 = Extension(name='.'.join([parent_package, 'experimental', 'func_octree']),
                    sources=[os.path.join(cur_dir, 'func_octree.pyx')],
                    include_dirs= get_numpy_include_dirs() + extra_include_dirs,
                    extra_compile_args=['-O3', '-fno-exceptions', '-ffast-math'],# '-march=native', '-mtune=native'],
                    extra_link_args=linkArgs)
    config = Configuration('experimental', parent_package, top_path, ext_modules=cythonize([ext, ext2, ext3, ext4]))
    config.add_extension(name='triangle_mesh_utils',
                    sources='triangle_mesh_utils.c',
                    include_dirs= get_numpy_include_dirs() + extra_include_dirs,
                    extra_compile_args=['-O3', '-fno-exceptions', '-ffast-math'],# '-march=native', '-mtune=native'],
                    extra_link_args=linkArgs)
    config.add_data_files('*.pxd', '*.pyx', '*.h', '*.c') #permit compilation against cython extension
    # config = Configuration('pymecompress', parent_package, top_path)
    #
    # config.add_extension('bcl',
    #     sources=['bcl.pyx', 'src/huffman.c', 'quantize.c'],
    #     include_dirs = ['src', get_numpy_include_dirs()] + extra_include_dirs,
    # extra_compile_args = ['-O3', '-fno-exceptions', '-ffast-math', '-march=native', '-mtune=native'],
    #     extra_link_args=linkArgs)
    return config