diff --git a/.gitignore b/.gitignore
index 85c92e8d3a6017270e561d5fd68053776d73ceaa..1b622d2b536f534bdd18bb139315be6b47868504 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 *~
 *.pyc
 *.pyo
+*.user
 build*/
 examples/grc/*.py
diff --git a/include/bladeRF/CMakeLists.txt b/include/bladeRF/CMakeLists.txt
index ece1802d891a4e3df95f6ee4ebeaf55eacd7d66e..a725eb7090726aa98b1d3de571e507d865df1817 100644
--- a/include/bladeRF/CMakeLists.txt
+++ b/include/bladeRF/CMakeLists.txt
@@ -11,5 +11,5 @@
 ########################################################################
 install(FILES
     api.h
-    DESTINATION include/bladeRF
+    source.h DESTINATION include/bladeRF
 )
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 76b31c075727dd066f21be9bab0fa447442fa954..79aa97105dfeb3b26c9aecd0d3c20979fc7bb06e 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -12,6 +12,7 @@
 include(GrPlatform) #define LIB_SUFFIX
 
 list(APPEND bladeRF_sources
+    source_impl.cc
 )
 
 set(bladeRF_sources "${bladeRF_sources}" PARENT_SCOPE)
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 82b16caeb5b64b527bb39438dd736617a50fef97..2c54f788dff58de45d73851a82e99f7c8d608da2 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -31,3 +31,4 @@ GR_PYTHON_INSTALL(
 include(GrTest)
 
 set(GR_TEST_TARGET_DEPS gnuradio-bladeRF)
+GR_ADD_TEST(qa_source ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_source.py)
diff --git a/python/bindings/CMakeLists.txt b/python/bindings/CMakeLists.txt
index 614a3837aae440098733359acefd3de56b87d3f0..09e33f177ef6173a61870b9bc4a5a984af6d1256 100644
--- a/python/bindings/CMakeLists.txt
+++ b/python/bindings/CMakeLists.txt
@@ -29,7 +29,7 @@ include(GrPybind)
 ########################################################################
 
 list(APPEND bladeRF_python_files
-    python_bindings.cc)
+    source_python.cc python_bindings.cc)
 
 GR_PYBIND_MAKE_OOT(bladeRF 
    ../..
diff --git a/python/bindings/python_bindings.cc b/python/bindings/python_bindings.cc
index f7254299a4da9bfd8c922f63e4effa1f7c0b3cea..d78a9c1fe87c72da74ce36cf2018e2c0d86d4f4d 100644
--- a/python/bindings/python_bindings.cc
+++ b/python/bindings/python_bindings.cc
@@ -21,6 +21,7 @@ namespace py = pybind11;
 // Please do not delete
 /**************************************/
 // BINDING_FUNCTION_PROTOTYPES(
+    void bind_source(py::module& m);
 // ) END BINDING_FUNCTION_PROTOTYPES
 
 
@@ -49,5 +50,6 @@ PYBIND11_MODULE(bladeRF_python, m)
     // Please do not delete
     /**************************************/
     // BINDING_FUNCTION_CALLS(
+    bind_source(m);
     // ) END BINDING_FUNCTION_CALLS
-}
+}
\ No newline at end of file