diff --git a/bfps/NavierStokes.py b/bfps/NavierStokes.py
index 90c8458891cb44e99bd768e59d7cfe4cb4e5fc5c..643a3d2ff241a5b13884117fa09f1c5744b61a1c 100644
--- a/bfps/NavierStokes.py
+++ b/bfps/NavierStokes.py
@@ -237,10 +237,10 @@ class NavierStokes(bfps.fluid_base.fluid_particle_base):
             kcut = None,
             neighbours = 1,
             name = 'particle_field'):
-        self.particle_variables += ('buffered_vec_field<{0}> *vel_{1}, *acc_{1};\n' +
+        self.particle_variables += ('interpolator<{0}> *vel_{1}, *acc_{1};\n' +
                                     '{0} *{1}_tmp;\n').format(self.C_dtype, name)
-        self.particle_start += ('vel_{0} = new buffered_vec_field<{1}>(fs, {2});\n' +
-                                'acc_{0} = new buffered_vec_field<{1}>(fs, {2});\n' +
+        self.particle_start += ('vel_{0} = new interpolator<{1}>(fs, {2});\n' +
+                                'acc_{0} = new interpolator<{1}>(fs, {2});\n' +
                                 '{0}_tmp = new {1}[acc_{0}->src_descriptor->local_size];\n').format(name, self.C_dtype, neighbours+1)
         self.particle_end += ('delete vel_{0};\n' +
                               'delete acc_{0};\n' +
diff --git a/bfps/cpp/interpolations.cpp b/bfps/cpp/interpolations.cpp
index 350e633a753579c3b6bfcf4d93af53a20e69ece1..04f5dd3ac915106a5c5195bfcb907d1cd2734edc 100644
--- a/bfps/cpp/interpolations.cpp
+++ b/bfps/cpp/interpolations.cpp
@@ -27,7 +27,7 @@
 #include "interpolations.hpp"
 
 template <class rnumber>
-buffered_vec_field<rnumber>::buffered_vec_field(
+interpolator<rnumber>::interpolator(
         fluid_solver_base<rnumber> *fs,
         const int bw)
 {
@@ -51,14 +51,14 @@ buffered_vec_field<rnumber>::buffered_vec_field(
 }
 
 template <class rnumber>
-buffered_vec_field<rnumber>::~buffered_vec_field()
+interpolator<rnumber>::~interpolator()
 {
     delete[] this->f;
     delete this->descriptor;
 }
 
 template <class rnumber>
-int buffered_vec_field<rnumber>::read_rFFTW(void *void_src)
+int interpolator<rnumber>::read_rFFTW(void *void_src)
 {
     rnumber *src = (rnumber*)void_src;
     rnumber *dst = this->f;
@@ -118,5 +118,6 @@ int buffered_vec_field<rnumber>::read_rFFTW(void *void_src)
     return EXIT_SUCCESS;
 }
 
-template class buffered_vec_field<float>;
-template class buffered_vec_field<double>;
+template class interpolator<float>;
+template class interpolator<double>;
+
diff --git a/bfps/cpp/interpolations.hpp b/bfps/cpp/interpolations.hpp
index 426ac20be6e3cc82752489ea072b5872dbb084e7..65c017d057475b7bf052ef463241e476efc11f4e 100644
--- a/bfps/cpp/interpolations.hpp
+++ b/bfps/cpp/interpolations.hpp
@@ -34,9 +34,9 @@
 #include "spline_n6.hpp"
 #include "Lagrange_polys.hpp"
 
-#ifndef INTERPOLATIONS
+#ifndef INTERPOLATOR
 
-#define INTERPOLATIONS
+#define INTERPOLATOR
 
 typedef void (*base_polynomial_values)(
         int derivative,
@@ -44,7 +44,7 @@ typedef void (*base_polynomial_values)(
         double *destination);
 
 template <class rnumber>
-class buffered_vec_field
+class interpolator
 {
     public:
         int buffer_width;
@@ -53,14 +53,14 @@ class buffered_vec_field
         field_descriptor<rnumber> *src_descriptor;
         rnumber *f;
 
-        buffered_vec_field(
+        interpolator(
                 fluid_solver_base<rnumber> *FSOLVER,
                 const int BUFFER_WIDTH);
-        ~buffered_vec_field();
+        ~interpolator();
 
         /* destroys input */
         int read_rFFTW(void *src);
 };
 
-#endif//INTERPOLATIONS
+#endif//INTERPOLATOR