diff --git a/kotlin/internal/defs.bzl b/kotlin/internal/defs.bzl
index e1d23c1..67b6bbc 100644
--- a/kotlin/internal/defs.bzl
+++ b/kotlin/internal/defs.bzl
@@ -18,7 +18,7 @@
 # The name of the Kotlin compiler workspace.
 KT_COMPILER_REPO = "com_github_jetbrains_kotlin"
 
-KtInfo = provider(
+KtJvmInfo = provider(
     fields = {
         "module_name": "the module name",
         "srcs": "the source files. [intelij-aspect]",
diff --git a/kotlin/internal/jvm/compile.bzl b/kotlin/internal/jvm/compile.bzl
index 465c730..75ead3d 100644
--- a/kotlin/internal/jvm/compile.bzl
+++ b/kotlin/internal/jvm/compile.bzl
@@ -11,7 +11,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-load("//kotlin/internal:defs.bzl", "KtInfo", "TOOLCHAIN_TYPE")
+load("//kotlin/internal:defs.bzl", "KtJvmInfo", "TOOLCHAIN_TYPE")
 load("//kotlin/internal/jvm:plugins.bzl", "plugins")
 load("//kotlin/internal/common:common.bzl", "common")
 
@@ -146,13 +146,13 @@
         module_name=common.derive_module_name(ctx)
         friend_paths=depset()
     elif len(friends) == 1:
-        if friends[0][KtInfo] == None:
+        if friends[0][KtJvmInfo] == None:
             fail("only kotlin dependencies can be friends")
         elif ctx.attr.module_name:
             fail("if friends has been set then module_name cannot be provided")
         else:
             friend_paths=depset([j.path for j in friends[0][JavaInfo].compile_jars])
-            module_name = friends[0][KtInfo].module_name
+            module_name = friends[0][KtJvmInfo].module_name
     else:
         fail("only one friend is possible")
 
@@ -223,7 +223,7 @@
             exports = [d[JavaInfo] for d in getattr(ctx.attr, "exports", [])],
             neverlink = getattr(ctx.attr, "neverlink", False)
         ),
-        kt=KtInfo(
+        kt=KtJvmInfo(
             srcs=ctx.files.srcs,
             module_name = module_name,
             # intelij aspect needs this.
diff --git a/kotlin/internal/jvm/jvm.bzl b/kotlin/internal/jvm/jvm.bzl
index ad12784..960ecb7 100644
--- a/kotlin/internal/jvm/jvm.bzl
+++ b/kotlin/internal/jvm/jvm.bzl
@@ -94,7 +94,7 @@
 ########################################################################################################################
 # Common Definitions
 ########################################################################################################################
-load("//kotlin/internal:defs.bzl","KtInfo","TOOLCHAIN_TYPE")
+load("//kotlin/internal:defs.bzl", _KtJvmInfo="KtJvmInfo", _TOOLCHAIN_TYPE="TOOLCHAIN_TYPE")
 # struct can't be used till skydoc is removed
 load(
     "//kotlin/internal/jvm:plugins.bzl",
@@ -102,10 +102,10 @@
 )
 # struct can't be used till skydoc is removed
 load("//kotlin/internal/jvm:impl.bzl",
-    "kt_jvm_binary_impl",
-    "kt_jvm_import_impl",
-    "kt_jvm_junit_test_impl",
-    "kt_jvm_library_impl",
+    _kt_jvm_binary_impl="kt_jvm_binary_impl",
+    _kt_jvm_import_impl="kt_jvm_import_impl",
+    _kt_jvm_junit_test_impl="kt_jvm_junit_test_impl",
+    _kt_jvm_library_impl="kt_jvm_library_impl",
 )
 
 
@@ -206,9 +206,9 @@
         "neverlink": attr.bool(default=False),
     }.items()),
     outputs = _common_outputs,
-    toolchains = [TOOLCHAIN_TYPE],
-    implementation = kt_jvm_library_impl,
-    provides = [JavaInfo, KtInfo]
+    toolchains = [_TOOLCHAIN_TYPE],
+    implementation = _kt_jvm_library_impl,
+    provides = [JavaInfo, _KtJvmInfo]
 )
 
 """This rule compiles and links Kotlin and Java sources into a .jar file.
@@ -238,8 +238,8 @@
     }.items()),
     executable = True,
     outputs = _binary_outputs,
-    toolchains = [TOOLCHAIN_TYPE],
-    implementation = kt_jvm_binary_impl,
+    toolchains = [_TOOLCHAIN_TYPE],
+    implementation = _kt_jvm_binary_impl,
 )
 
 """Builds a Java archive ("jar file"), plus a wrapper shell script with the same name as the rule. The wrapper shell script uses a classpath that includes,
@@ -261,7 +261,7 @@
         ),
         "friends": attr.label_list(
             default = [],
-            providers = [JavaInfo, KtInfo]
+            providers = [JavaInfo, _KtJvmInfo]
         ),
         "test_class": attr.string(),
         "main_class": attr.string(default="com.google.testing.junit.runner.BazelTestRunner"),
@@ -269,8 +269,8 @@
     executable = True,
     outputs = _binary_outputs,
     test = True,
-    toolchains = [TOOLCHAIN_TYPE],
-    implementation = kt_jvm_junit_test_impl,
+    toolchains = [_TOOLCHAIN_TYPE],
+    implementation = _kt_jvm_junit_test_impl,
 )
 
 """Setup a simple kotlin_test.
@@ -301,8 +301,8 @@
             providers = [JavaInfo]
         )
     },
-    implementation = kt_jvm_import_impl,
-    provides = [JavaInfo, KtInfo]
+    implementation = _kt_jvm_import_impl,
+    provides = [JavaInfo, _KtJvmInfo]
 )
 
 # The pairing of src and class is used by intellij to attatch sources, this is picked up via the kt provider attribute.
