diff --git a/pjlsa/__init__.py b/pjlsa/__init__.py
index 035789fcfd10a031a0de73d5c100a5df5b1b0243..dc8c24441ca3aa6892305d832cc7c12c3a5ef38e 100644
--- a/pjlsa/__init__.py
+++ b/pjlsa/__init__.py
@@ -16,6 +16,6 @@ __stubgen_packages__ = [
     "cern.japc.value"
 ]
 
-from .pjlsa import LSAClient
+from ._pjlsa import LSAClient
 
 __all__ = ["LSAClient"]
diff --git a/pjlsa/pjlsa.py b/pjlsa/_pjlsa.py
similarity index 99%
rename from pjlsa/pjlsa.py
rename to pjlsa/_pjlsa.py
index e2074ee7bea4dbb5f1d5fc79df7e5466216954aa..6fbb92c1d05ce8db66d748710795d23cff1fd3b0 100644
--- a/pjlsa/pjlsa.py
+++ b/pjlsa/_pjlsa.py
@@ -1,8 +1,7 @@
-# -*- coding: utf-8 -*-
 """
 PJLSA -- A Python wrapping of Java LSA API
 
-Copyright (c) CERN 2015-2017
+Copyright (c) CERN 2015-2021
 
 Permission is hereby granted, free of charge, to any person obtaining a copy of
 this software and associated documentation files (the "Software"), to deal in
@@ -110,8 +109,8 @@ def _toJavaList(lst):
 
 class LSAClient(object):
     def __init__(self, server="gpn"):
-        self._mgr = cmmnbuild_dep_manager.Manager("pjlsa")
-        self._jpype = self._mgr.start_jpype_jvm()
+        self._mgr = cmmnbuild_dep_manager.Manager()
+        self._mgr.jvm_required()
 
         # basic Java packages
         self._cern = jpype.JPackage("cern")
diff --git a/setup.py b/setup.py
index 32f0bbed9cc40a7cd49a2d428a6b013a1c101746..38178e568f45b275e3ec85155a596ff729ed25e4 100644
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,11 @@ import os
 import setuptools
 
 REQUIREMENTS: dict = {
-    "core": ["cmmnbuild-dep-manager>=2.5.0,<3.*", "jpype1>=1.2.1,<2.*", "numpy"],
+    "core": [
+        "cmmnbuild-dep-manager~=2.9",
+        "jpype1>=1.2.1,<2.*",
+        "numpy",
+    ],
     "test": ["pytest", ],
 }