diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4f8fa79ce44506ce36ef89bb431de03959c15974..03d9bd7976d3abd3b9df931eba67449ce7adf3ac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,10 @@
-cmake_minimum_required (VERSION 3.20 FATAL_ERROR)
+cmake_minimum_required (VERSION 3.26 FATAL_ERROR)
 
-project (VAPython LANGUAGES CXX C)
+project (
+	VAPython
+	LANGUAGES CXX C
+	VERSION 2022.0
+)
 
 set (CMAKE_DEBUG_POSTFIX "-d")
 
@@ -14,81 +18,29 @@ if (CMAKE_GENERATOR MATCHES "Visual Studio")
 	set_property (GLOBAL PROPERTY USE_FOLDERS ON)
 endif ()
 
-# If build outside of VA project, eg via pip, ...
-if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-	# ... build dependecies static so a single file contains everything needed.
-	set (BUILD_SHARED_LIBS OFF)
-
-	# Additionally, download all dependencies.
-	set (CPM_DOWNLOAD_VERSION 0.32.2)
-	set (CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
-
-	if (NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
-		message (STATUS "Downloading CPM.cmake")
-		file (DOWNLOAD https://github.com/TheLartians/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
-			  ${CPM_DOWNLOAD_LOCATION}
-		)
-	else (NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
-		message ("CPM already exists, do not need to download")
-	endif (NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
-
-	include (${CPM_DOWNLOAD_LOCATION})
-
-	if (NOT TARGET VABase)
-		CPMAddPackage (
-			NAME VABase
-			GIT_REPOSITORY https://git.rwth-aachen.de/ita/VABase
-			GIT_TAG master
-		)
-	endif ()
-
-	if (NOT TARGET VANet)
-		CPMAddPackage (
-			NAME VANet
-			GIT_REPOSITORY https://git.rwth-aachen.de/ita/VANet
-			GIT_TAG master
-		)
-	endif ()
-endif ()
+CPMAddPackage (
+	NAME python-cmake-wheel
+	GITHUB_REPOSITORY Klebert-Engineering/python-cmake-wheel
+	GIT_TAG main
+	DOWNLOAD_ONLY TRUE
+)
 
-if (PYTHON_SETUP_PY_VERSION)
-	list (APPEND PYTHON_SETUP_PY_VERSION EXACT)
-	message("${PYTHON_SETUP_PY_VERSION}")
-endif ()
+list (INSERT CMAKE_MODULE_PATH 0 CMAKE_MODULE_PATH ${python-cmake-wheel_SOURCE_DIR})
 
-find_package (Python ${PYTHON_SETUP_PY_VERSION} REQUIRED COMPONENTS Interpreter Development)
+include (python-wheel)
 
-# --- Version ---
-# get the version from setup.py
-execute_process (
-	COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/setup.py --version OUTPUT_VARIABLE VAPython_version
-)
-string (REGEX MATCHALL "([0-9]+)\\.([0-9]+)" _output ${VAPython_version})
-unset (_output)
-
-# use the result to set the project version
-set (PROJECT_VERSION ${CMAKE_MATCH_0})
-set (PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1})
-set (PROJECT_VERSION_MINOR ${CMAKE_MATCH_2})
-
-# set the project version in cache for installation and packaging only
-if (DEV_HELPERS)
-	set (
-		${PROJECT_NAME}_VERSION
-		${PROJECT_VERSION}
-		CACHE INTERNAL "Cache entry of the project versions"
-	)
-endif ()
+find_package (Python REQUIRED COMPONENTS Interpreter Development.SABIModule)
 
 # Add target 'va', the project name is *not* used here, so in python the module is called 'va'.
 python_add_library (
 	${PROJECT_NAME}
 	MODULE
+	USE_SABI
+	3.8
+	WITH_SOABI
 	src/vasingleton.cpp
 	src/vasingletondoc.hpp
 	src/vasingletonmethods.hpp
-	MANIFEST.in
-	setup.py
 )
 add_library (VA::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
 
@@ -103,66 +55,78 @@ if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
 	set_property (TARGET ${PROJECT_NAME} PROPERTY FOLDER "Bindings/VA")
 endif ()
 
-# Remove the debug postfix, so the module always has the same name. Also set the output dir to bin, so if shared build is enabled, the module can find all the dlls.
-set_target_properties (${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX "" OUTPUT_NAME "va" 
-    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIG>/bin")
-
-# Only run this, if we are not building from setup.py
-if (NOT PYTHON_SETUP_PY_BUILD)
-
-	execute_process (COMMAND py --list OUTPUT_VARIABLE python_versions)
-	string (REGEX MATCHALL "([0-9]+\\.[0-9]+)" python_versions ${python_versions})
-
-	add_custom_target (${PROJECT_NAME}_wheel ALL)
-
-	foreach (py_version ${python_versions})
-		add_custom_command (
-			TARGET ${PROJECT_NAME}_wheel
-			POST_BUILD
-			COMMAND py -${py_version} setup.py bdist_wheel
-			WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
-			COMMENT "Running distutils for version ${py_version}"
-			VERBATIM
-		)
-	endforeach ()
-
-	set_property (TARGET ${PROJECT_NAME}_wheel PROPERTY FOLDER "Bindings/VA")
-
-	# ---Install---
-
-	# prepare the install folder name
-	math (EXPR RELEASE_LETTER "${PROJECT_VERSION_MINOR}+97")
-	string (ASCII ${RELEASE_LETTER} RELEASE_LETTER)
-	set (VA_PYTHON_OUTPUT_FOLDER "VAPython_v${PROJECT_VERSION_MAJOR}${RELEASE_LETTER}")
-
-	# Readme
-	install (
-		FILES "README.md"
-		DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
-		COMPONENT ${PROJECT_NAME}
-	)
-
-	# Wheel files for installation on user machine
-	install (
-		DIRECTORY "dist/"
-		DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
-		COMPONENT ${PROJECT_NAME}
-		FILES_MATCHING
-		PATTERN "*.whl"
-	)
-
-	# Tests
-	install (
-		DIRECTORY "tests"
-		DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
-		COMPONENT ${PROJECT_NAME}
-	)
-
-	# Examples
-	install (
-		DIRECTORY "examples"
-		DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
-		COMPONENT ${PROJECT_NAME}
-	)
+# Remove the debug postfix, so the module always has the same name. Also set the output dir to bin, so if shared build
+# is enabled, the module can find all the dlls.
+set_target_properties (
+	${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX "" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIG>/bin"
+)
 
-endif ()
+set (WHEEL_DEPLOY_DIRECTORY "${CMAKE_BINARY_DIR}/python_wheels")
+
+add_wheel (
+	${PROJECT_NAME}
+	VERSION
+	${PROJECT_VERSION}
+	AUTHOR
+	"Institute for Hearing Technology and Acoustics (IHTA), RWTH Aachen University"
+	URL
+	"https://www.virtualacoustics.org"
+	LICENSE_PATH
+	${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md
+	PYTHON_REQUIRES
+	">=3.8"
+	DESCRIPTION
+	"Virtual Acoustics (VA) singleton interface"
+	DEPLOY_FILES
+	""
+	TARGET_DEPENDENCIES
+	VA::VABase # VANet is now static, not needed here.
+	MODULE_DEPENDENCIES
+	""
+)
+
+file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/setup.cfg "[bdist_wheel]\npy_limited_api = cp38")
+
+file (READ ${CMAKE_CURRENT_BINARY_DIR}/setup.py setup_CONTENT)
+string (REGEX REPLACE "(sources=\\[\\])" "\\1, py_limited_api=True" setup_CONTENT "${setup_CONTENT}") #
+file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/setup.py ${setup_CONTENT})
+
+set_property (TARGET ${PROJECT_NAME}-copy-files ${PROJECT_NAME}-setup-py PROPERTY FOLDER "Bindings/VA")
+set_property (TARGET wheel PROPERTY FOLDER "Bindings")
+
+# ---Install---
+
+# prepare the install folder name
+math (EXPR RELEASE_LETTER "${PROJECT_VERSION_MINOR}+97")
+string (ASCII ${RELEASE_LETTER} RELEASE_LETTER)
+set (VA_PYTHON_OUTPUT_FOLDER "VAPython_v${PROJECT_VERSION_MAJOR}${RELEASE_LETTER}")
+
+# Readme
+install (
+	FILES "README.md"
+	DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
+	COMPONENT ${PROJECT_NAME}
+)
+
+# Wheel files for installation on user machine
+install (
+	DIRECTORY ${WHEEL_DEPLOY_DIRECTORY}/
+	DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
+	COMPONENT ${PROJECT_NAME}
+	FILES_MATCHING
+	PATTERN "*.whl"
+)
+
+# Tests
+install (
+	DIRECTORY "tests"
+	DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
+	COMPONENT ${PROJECT_NAME}
+)
+
+# Examples
+install (
+	DIRECTORY "examples"
+	DESTINATION ${VA_PYTHON_OUTPUT_FOLDER}
+	COMPONENT ${PROJECT_NAME}
+)
diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644
index 063bdb96569c248b7fd257cb305833bb4611b6fc..0000000000000000000000000000000000000000
--- a/MANIFEST.in
+++ /dev/null
@@ -1,4 +0,0 @@
-include README.md LICENSE.md
-include src/*.hpp
-include src/*.cpp
-recursive-include tests *
diff --git a/examples/jupyter/va_core_controller.ipynb b/examples/jupyter/va_core_controller.ipynb
index 30bca6505ffec8c7f1fb9411979d4d99610eacab..e13f7aaab74d991d58f431b0af9ffca95dd5434d 100644
--- a/examples/jupyter/va_core_controller.ipynb
+++ b/examples/jupyter/va_core_controller.ipynb
@@ -33,7 +33,7 @@
     "sys.path.append( '../../Lib/site-packages' )\n",
     "sys.path.append( '../../dist/Lib/site-packages' )\n",
     "import ipywidgets as widgets\n",
-    "import va\n",
+    "import VAPython as va\n",
     "if not va.connect() :\n",
     "    raise 'Could not connect to local VA server'\n",
     "else :\n",
diff --git a/examples/jupyter/va_experimental_renderer_example.ipynb b/examples/jupyter/va_experimental_renderer_example.ipynb
index c945578def6d28aa0783b64a8a7a64ed517dbb98..8042b565de9aca10d1d3c993f06d7a77870384f3 100644
--- a/examples/jupyter/va_experimental_renderer_example.ipynb
+++ b/examples/jupyter/va_experimental_renderer_example.ipynb
@@ -37,7 +37,7 @@
     "#sys.path.append( '../../Lib/site-packages' )\n",
     "sys.path.append( '../../dist/Lib/site-packages' )\n",
     "import ipywidgets as widgets\n",
-    "import va\n",
+    "import VAPython as va\n",
     "if not va.connect() :\n",
     "    raise 'Could not connect to local VA server'\n",
     "else :\n",
diff --git a/examples/jupyter/va_notebook_example.ipynb b/examples/jupyter/va_notebook_example.ipynb
index 7536198be2971cf6eef4abdbbce93464c3ff3bd5..44d826fb2cf09c08c285193d20a54a4fb3e7f25e 100644
--- a/examples/jupyter/va_notebook_example.ipynb
+++ b/examples/jupyter/va_notebook_example.ipynb
@@ -40,7 +40,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "import va"
+    "import VAPython as va"
    ]
   },
   {
diff --git a/examples/jupyter/va_scene_controller.ipynb b/examples/jupyter/va_scene_controller.ipynb
index 6d6c78cce5f57bdd476d958d22007bba7e58acc3..868c016579c2040791cedaa249270c9a4bf99b97 100644
--- a/examples/jupyter/va_scene_controller.ipynb
+++ b/examples/jupyter/va_scene_controller.ipynb
@@ -26,7 +26,7 @@
     "sys.path.append( '../../Lib/site-packages' )\n",
     "sys.path.append( '../../dist/Lib/site-packages' )\n",
     "import ipywidgets as widgets\n",
-    "import va\n",
+    "import VAPython as va\n",
     "if not va.connect() :\n",
     "    raise 'Could not connect to VA server on localhost'"
    ]
diff --git a/examples/jupyter/va_signal_sources_controller.ipynb b/examples/jupyter/va_signal_sources_controller.ipynb
index 1b9b125b863b204a93e86d1f9920171318bb469f..9757729b2dfa83d514a62168c177792f5c2483b0 100644
--- a/examples/jupyter/va_signal_sources_controller.ipynb
+++ b/examples/jupyter/va_signal_sources_controller.ipynb
@@ -34,7 +34,7 @@
     "import sys\n",
     "sys.path.append( '../../Lib/site-packages' )\n",
     "import ipywidgets as widgets\n",
-    "import va\n",
+    "import VAPython as va\n",
     "if not va.connect() :\n",
     "    raise Exception( 'Could not connect to local VA server' )"
    ]
diff --git a/examples/jupyter/va_simple_acoustic_scene.ipynb b/examples/jupyter/va_simple_acoustic_scene.ipynb
index 9acb3c67a99ae7b0122ea82afc4ef98de65d2432..18fd9bb31f9b7c846a4e81caea2e21c663f24a9f 100644
--- a/examples/jupyter/va_simple_acoustic_scene.ipynb
+++ b/examples/jupyter/va_simple_acoustic_scene.ipynb
@@ -27,7 +27,7 @@
     "sys.path.append( '../../dist/Lib/site-packages' ) # dev\n",
     "import os\n",
     "print( 'Current working directory:', os.getcwd() )\n",
-    "import va\n",
+    "import VAPython as va\n",
     "print( 'Successfully loaded VA Python extension')"
    ]
   },
diff --git a/examples/va_example_simple.py b/examples/va_example_simple.py
index 367243e606c4724422c6f1849d123131258d20df..5fbd34970f7a9b8d56ce3db8562a883201ce2316 100644
--- a/examples/va_example_simple.py
+++ b/examples/va_example_simple.py
@@ -2,7 +2,7 @@ import os
 current_exec_dir = os.getcwd()
 
 # Make sure you installed the va module
-import va
+import VAPython as va
 
 va.connect() # localhost
 va.reset()
diff --git a/setup.py b/setup.py
deleted file mode 100644
index add9bd3b50d8990b768c75b94431fad50bdab191..0000000000000000000000000000000000000000
--- a/setup.py
+++ /dev/null
@@ -1,149 +0,0 @@
-import os
-import re
-import subprocess
-import sys
-import shutil
-from pathlib import Path
-from warnings import warn
-
-from setuptools import Extension, setup
-from setuptools.command.build_ext import build_ext
-
-# Convert distutils Windows platform specifiers to CMake -A arguments
-PLAT_TO_CMAKE = {
-    "win32": "Win32",
-    "win-amd64": "x64",
-    "win-arm32": "ARM",
-    "win-arm64": "ARM64",
-}
-
-
-# A CMakeExtension needs a sourcedir instead of a file list.
-# The name must be the _single_ output extension from the CMake build.
-# If you need multiple extensions, see scikit-build.
-class CMakeExtension(Extension):
-    def __init__(self, name, sourcedir=""):
-        Extension.__init__(self, name, sources=[])
-        self.sourcedir = os.path.abspath(sourcedir)
-
-
-class CMakeBuild(build_ext):
-    def build_extension(self, ext):
-        # check for CMake in Path, if not and on windows try to find it in programs directory
-        if shutil.which('cmake') == None and sys.platform == 'win32':
-
-            possibleExes = list(Path('C:/').glob('*/*cmake*/bin/cmake.exe'))
-
-            if not possibleExes and possibleExes[0].is_file:
-                os.environ['PATH'] += ';' + str(possibleExes[0].absolute())
-                warn('Did not find CMake in PATH, adding it manually for this script')
-
-        # check again for CMake in Path
-        if shutil.which('cmake') == None:
-            raise RuntimeError('CMake not found in PATH')
-
-        extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name)))
-
-        # required for auto-detection & inclusion of auxiliary "native" libs
-        if not extdir.endswith(os.path.sep):
-            extdir += os.path.sep
-
-        debug = int(os.environ.get("DEBUG", 0)) if self.debug is None else self.debug
-        cfg = "Debug" if debug else "Release"
-
-        # CMake lets you override the generator - we need to check this.
-        # Can be set with Conda-Build, for example.
-        cmake_generator = os.environ.get("CMAKE_GENERATOR", "")
-
-        # Set Python_EXECUTABLE instead if you use PYBIND11_FINDPYTHON
-        # EXAMPLE_VERSION_INFO shows you how to pass a value into the C++ code
-        # from Python.
-        cmake_args = [
-            f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={extdir}",
-            f"-DPYTHON_EXECUTABLE={sys.executable}",
-            f"-DCMAKE_BUILD_TYPE={cfg}",  # not used on MSVC, but no harm
-        ]
-        build_args = []
-        # Adding CMake arguments set as environment variable
-        # (needed e.g. to build for ARM OSx on conda-forge)
-        if "CMAKE_ARGS" in os.environ:
-            cmake_args += [item for item in os.environ["CMAKE_ARGS"].split(" ") if item]
-
-        if self.compiler.compiler_type != "msvc":
-            # Using Ninja-build since it a) is available as a wheel and b)
-            # multithreads automatically. MSVC would require all variables be
-            # exported for Ninja to pick it up, which is a little tricky to do.
-            # Users can override the generator with CMAKE_GENERATOR in CMake
-            # 3.15+.
-            if not cmake_generator:
-                try:
-                    import ninja  # noqa: F401
-
-                    cmake_args += ["-GNinja"]
-                except ImportError:
-                    pass
-
-        else:
-
-            # Single config generators are handled "normally"
-            single_config = any(x in cmake_generator for x in {"NMake", "Ninja"})
-
-            # CMake allows an arch-in-generator style for backward compatibility
-            contains_arch = any(x in cmake_generator for x in {"ARM", "Win64"})
-
-            # Specify the arch if using MSVC generator, but only if it doesn't
-            # contain a backward-compatibility arch spec already in the
-            # generator name.
-            if not single_config and not contains_arch:
-                cmake_args += ["-A", PLAT_TO_CMAKE[self.plat_name]]
-
-            # Multi-config generators have a different way to specify configs
-            if not single_config:
-                cmake_args += [
-                    f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_{cfg.upper()}={extdir}"
-                ]
-                build_args += ["--config", cfg]
-
-        if sys.platform.startswith("darwin"):
-            # Cross-compile support for macOS - respect ARCHFLAGS if set
-            archs = re.findall(r"-arch (\S+)", os.environ.get("ARCHFLAGS", ""))
-            if archs:
-                cmake_args += ["-DCMAKE_OSX_ARCHITECTURES={}".format(";".join(archs))]
-
-        # Set CMAKE_BUILD_PARALLEL_LEVEL to control the parallel build level
-        # across all generators.
-        if "CMAKE_BUILD_PARALLEL_LEVEL" not in os.environ:
-            # self.parallel is a Python 3 only way to set parallel jobs by hand
-            # using -j in the build_ext call, not supported by pip or PyPA-build.
-            if hasattr(self, "parallel") and self.parallel:
-                # CMake 3.12+ only.
-                build_args += [f"-j{self.parallel}"]
-
-        if not os.path.exists(self.build_temp):
-            os.makedirs(self.build_temp)
-
-        # cmake_args += ["-DPYTHON_SETUP_PY_BUILD=ON"]
-        cmake_args += ["-DPYTHON_SETUP_PY_BUILD=ON", "-DPYTHON_SETUP_PY_VERSION={}.{}".format(sys.version_info[0],sys.version_info[1])]
-
-        subprocess.check_call(
-            ["cmake", ext.sourcedir] + cmake_args, cwd=self.build_temp
-        )
-        subprocess.check_call(
-            ["cmake", "--build", "."] + build_args, cwd=self.build_temp
-        )
-
-setup(
-    name="va",
-    description = 'Virtual Acoustics (VA) singleton interface',
-    version="2022.0",
-    author="Institute for Hearing Technology and Acoustics (IHTA), RWTH Aachen University",
-    author_email="post@akustik.rwth-aachen.de",
-    url = 'https://www.virtualacoustics.org',
-    long_description = '''
-Virtual Acoustics (VA) is a real-time auralization framework for Virtual Reality. This module is an interface to interact with a VA server.
-''',
-    license = "Copyright 2017-2021. Apache License Version 2.0",
-    ext_modules=[CMakeExtension("va")],
-    cmdclass={"build_ext": CMakeBuild},
-    python_requires=">=3.7",
-)
diff --git a/src/vasingleton.cpp b/src/vasingleton.cpp
index 0ede8e05304f420bf3f888f914226d955625a8a6..07192b72def7aaa5d7bd79a2920d58a053ebcf2c 100644
--- a/src/vasingleton.cpp
+++ b/src/vasingleton.cpp
@@ -205,7 +205,7 @@ static struct PyMethodDef va_methods[] = {
 
 static struct PyModuleDef vamoduledef = { PyModuleDef_HEAD_INIT, "va", module_doc, -1, va_methods, NULL, NULL, NULL, NULL };
 
-PyMODINIT_FUNC PyInit_va( void )
+PyMODINIT_FUNC PyInit_VAPython( void )
 {
 	PyObject* pModule = PyModule_Create( &vamoduledef );
 	g_pVAError        = PyErr_NewException( "va.error", NULL, NULL );
diff --git a/src/vasingletonmethods.hpp b/src/vasingletonmethods.hpp
index 21e03b693dc68310606b579665949759b162913c..29459cbd550e8bf41fa7364bd87402cd91b9de40 100644
--- a/src/vasingletonmethods.hpp
+++ b/src/vasingletonmethods.hpp
@@ -71,7 +71,7 @@ PyObject* ConvertFloatVectorToPythonList( const std::vector<float> vfValues )
 {
 	PyObject* pList = PyList_New( vfValues.size( ) );
 
-	for( Py_ssize_t i = 0; i < PyList_GET_SIZE( pList ); i++ )
+	for( Py_ssize_t i = 0; i < PyList_Size( pList ); i++ )
 		PyList_SetItem( pList, i, PyLong_FromDouble( vfValues[i] ) );
 
 	return pList;
@@ -81,7 +81,7 @@ PyObject* ConvertDoubleVectorToPythonList( const std::vector<double> vdValues )
 {
 	PyObject* pList = PyList_New( vdValues.size( ) );
 
-	for( Py_ssize_t i = 0; i < PyList_GET_SIZE( pList ); i++ )
+	for( Py_ssize_t i = 0; i < PyList_Size( pList ); i++ )
 		PyList_SetItem( pList, i, PyLong_FromDouble( vdValues[i] ) );
 
 	return pList;
@@ -91,7 +91,7 @@ PyObject* ConvertIntVectorToPythonList( const std::vector<int> viValues )
 {
 	PyObject* pList = PyList_New( viValues.size( ) );
 
-	for( Py_ssize_t i = 0; i < PyList_GET_SIZE( pList ); i++ )
+	for( Py_ssize_t i = 0; i < PyList_Size( pList ); i++ )
 		PyList_SetItem( pList, i, PyLong_FromLong( viValues[i] ) );
 
 	return pList;
@@ -882,7 +882,7 @@ static PyObject* get_sound_receiver_ids( PyObject*, PyObject* )
 	g_pVANetClient->GetCoreInstance( )->GetSoundReceiverIDs( viIDs );
 
 	PyObject* pIDList = PyList_New( viIDs.size( ) );
-	for( Py_ssize_t i = 0; i < PyList_GET_SIZE( pIDList ); i++ )
+	for( Py_ssize_t i = 0; i < PyList_Size( pIDList ); i++ )
 		PyList_SetItem( pIDList, i, PyLong_FromLong( viIDs[i] ) );
 
 	return pIDList;
@@ -1794,7 +1794,7 @@ static PyObject* get_sound_portal_ids( PyObject*, PyObject* )
 	g_pVANetClient->GetCoreInstance( )->GetSoundPortalIDs( viIDs );
 
 	PyObject* pIDList = PyList_New( viIDs.size( ) );
-	for( Py_ssize_t i = 0; i < PyList_GET_SIZE( pIDList ); i++ )
+	for( Py_ssize_t i = 0; i < PyList_Size( pIDList ); i++ )
 		PyList_SetItem( pIDList, i, PyLong_FromLong( viIDs[i] ) );
 
 	return pIDList;
diff --git a/tests/va_test_connection.py b/tests/va_test_connection.py
index a388e519f81d6d2dd14b1405eb99343179cc9ffb..7f968995297de7f6042927aa0f55a0715842fbb8 100644
--- a/tests/va_test_connection.py
+++ b/tests/va_test_connection.py
@@ -5,7 +5,7 @@
 import sys
 sys.path.append( '../Lib/site-packages' ) # deploy structure
 
-import va
+import VAPython as va
 
 print( "Testing va extension connection methods." )