diff --git a/doc/source/blender_run.py b/doc/source/blender_run.py
index b5ffd7df40d01e81d04839ba0a668fd5d291832f..8b7c1518f802a38096e753cfea526090d17f457c 100644
--- a/doc/source/blender_run.py
+++ b/doc/source/blender_run.py
@@ -4,12 +4,39 @@ Run several blender instances if blender is installed
 import pkg_resources
 import glob
 import os
+import shutil
+import sys
+import inspect
+import tempfile
 
-blendercomand = 'blender'
+
+def activate_virtualenv(venv_path):
+    if venv_path is None:
+        raise NameError('Python is not running within a virtualenv')
+    filepath = os.path.join(venv_path, 'bin', 'activate_this.py')
+    with open(filepath, 'r') as f:
+        exec(f.read(), dict(__file__=filepath))
+
+
+venv = sys.base_prefix
+print(venv)
+blendercomand = shutil.which('blender')
 worldfile = pkg_resources.resource_filename(
     'navipy', 'resources/forest_world.blend')
+encoding = 'utf-8'
 for demofile in glob.iglob('**/blenddemo*.py', recursive=True):
-    command = '{} {} --background --python {}'.format(blendercomand,
-                                                      worldfile,
-                                                      demofile)
-    os.system(command)
+    with tempfile.NamedTemporaryFile() as tfile:
+        tfile.write('import os \n'.encode(encoding))
+        for line in inspect.getsourcelines(activate_virtualenv)[0]:
+            tfile.write(line.encode(encoding))
+        line = 'activate_virtualenv(\"{}\")\n'.format(venv)
+        tfile.write(line.encode(encoding))
+        with open(demofile) as infile:
+            for line in infile:
+                tfile.write(line.encode(encoding))
+        tfile.seek(0)
+        print(tfile.read())
+        tfile.seek(0)
+        command = '{} {} --background --python {}'.format(
+            blendercomand, worldfile, tfile.name)
+        os.system(command)
diff --git a/doc/source/example/rendering/blenddemo_beesampling.py b/doc/source/example/rendering/blenddemo_beesampling.py
index 1d429e164610f229a6794464f352507dfe6c13c8..1ea027c7f003aa636e7bbc98723188cc9460fdf6 100644
--- a/doc/source/example/rendering/blenddemo_beesampling.py
+++ b/doc/source/example/rendering/blenddemo_beesampling.py
@@ -1,32 +1,7 @@
 """
 Example on how to use the rendering module
 """
-# Import module from blender
-import os
 import tempfile
-
-
-environment_name = 'toolbox-navigation'
-
-
-def activate_virtualenv(name):
-    """Activate given virtualenv.
-    Virtualenv home folder is given by environment variable
-    ``WORKON_HOME`` or ``~/Envs`.
-    """
-    if 'WORKON_HOME' in os.environ:
-        home = os.environ['WORKON_HOME']
-    else:
-        home = os.path.expanduser(os.path.join('~', 'Envs'))
-    filepath = os.path.join(home, name, 'bin', 'activate_this.py')
-    with open(filepath, 'r') as f:
-        exec(f.read(), dict(__file__=filepath))
-
-
-activate_virtualenv(environment_name)
-#
-# Import module in virtualenv
-#
 import numpy as np  # noqa: E402
 from navipy.rendering.bee_sampling import BeeSampling  # noqa: E402
 
diff --git a/doc/source/example/rendering/blenddemo_cyberbee.py b/doc/source/example/rendering/blenddemo_cyberbee.py
index 19ab95ec9be6265d4df21c75b61dc90417c24e41..badfa9f9fdd499abc3c68b893a669fa2299f30b0 100644
--- a/doc/source/example/rendering/blenddemo_cyberbee.py
+++ b/doc/source/example/rendering/blenddemo_cyberbee.py
@@ -1,30 +1,7 @@
-import os
-proci = 0
-nproc = 1
-
-
-def activate_virtualenv(name):
-    """Activate given virtualenv.
-    Virtualenv home folder is given by environment variable ``WORKON_HOME`` or
-    ``~/Envs`.
-    """
-    if 'WORKON_HOME' in os.environ:
-        home = os.environ['WORKON_HOME']
-    else:
-        home = os.path.expanduser(os.path.join('~', 'Envs'))
-    filepath = os.path.join(home, name, 'bin', 'activate_this.py')
-    with open(filepath, 'r') as f:
-        exec(f.read(), dict(__file__=filepath))
-
-
-activate_virtualenv('toolbox-navigation')
-#
-# Import module in virtualenv
-#
-import numpy as np  # noqa: E402
-from matplotlib.colors import hsv_to_rgb, rgb_to_hsv  # noqa: E402
-import matplotlib.pyplot as plt  # noqa: E402
-from navipy.rendering.cyber_bee import Cyberbee  # noqa: E402
+import numpy as np
+from matplotlib.colors import hsv_to_rgb, rgb_to_hsv
+import matplotlib.pyplot as plt
+from navipy.rendering.cyber_bee import Cyberbee
 
 # with tempfile.TemporaryDirectory() as folder:
 cyberbee = Cyberbee()
diff --git a/navipy/rendering/__init__.py b/navipy/rendering/__init__.py
index 1c1a00c1e83e2dc84c7151f0217a895a0919b085..5c237d757ec0a290b2736d3c9674afb09d42aba1 100644
--- a/navipy/rendering/__init__.py
+++ b/navipy/rendering/__init__.py
@@ -39,14 +39,12 @@ Custom sampling
 
 Rendering classes
 -----------------
-
 BeeSampling
 ~~~~~~~~~~~
 .. autoclass:: navipy.rendering.bee_sampling.BeeSampling
     :members:
 
 Cyberbee
-
 ~~~~~~~~
 .. autoclass:: navipy.rendering.cyber_bee.Cyberbee
     :members:
diff --git a/navipy/rendering/bee_sampling.py b/navipy/rendering/bee_sampling.py
index 62e048259389f07e33476a3d6f4b02db69b32318..5245b5c3aad05ad0242148bc641244e67f4eb539 100644
--- a/navipy/rendering/bee_sampling.py
+++ b/navipy/rendering/bee_sampling.py
@@ -158,7 +158,7 @@ harddrive space, as each image is composed of 4 channels of 180x360 pixels.
             if np.any(np.isnan(posorient)):
                 # warnings.warn('frame_i: {} posorient nans'.format(frame_i))
                 continue
-            rowid = dataloger.posid(posorient)
+            rowid = dataloger.get_posid(posorient)
             if dataloger.check_data_validity(rowid):
                 warnings.warn(
                     'frame_i: {} data is valid rowid {}'.format(frame_i,