diff --git a/cmd/geth/js.go b/cmd/geth/js.go
index 95cf85e4ba3ec9729258ec8b8b762de977f83860..767b513c1cc251ed40565b4acc48510e76678a26 100644
--- a/cmd/geth/js.go
+++ b/cmd/geth/js.go
@@ -32,6 +32,7 @@ import (
 	"github.com/ethereum/go-ethereum/common"
 	"github.com/ethereum/go-ethereum/common/registrar"
 	"github.com/ethereum/go-ethereum/eth"
+	"github.com/ethereum/go-ethereum/internal/web3ext"
 	re "github.com/ethereum/go-ethereum/jsre"
 	"github.com/ethereum/go-ethereum/node"
 	"github.com/ethereum/go-ethereum/rpc"
@@ -202,7 +203,7 @@ func (js *jsre) apiBindings() error {
 			continue // manually mapped or ignore
 		}
 
-		if jsFile, ok := rpc.WEB3Extensions[apiName]; ok {
+		if jsFile, ok := web3ext.Modules[apiName]; ok {
 			if err = js.re.Compile(fmt.Sprintf("%s.js", apiName), jsFile); err == nil {
 				shortcuts += fmt.Sprintf("var %s = web3.%s; ", apiName, apiName)
 			} else {
diff --git a/rpc/javascript.go b/internal/web3ext/web3ext.go
similarity index 97%
rename from rpc/javascript.go
rename to internal/web3ext/web3ext.go
index 4d2bd1cdebfb415ce44283c3fef872c41aa1bd03..bc1e469217045683e76e81a7e4770ea582a7de32 100644
--- a/rpc/javascript.go
+++ b/internal/web3ext/web3ext.go
@@ -14,19 +14,17 @@
 // You should have received a copy of the GNU Lesser General Public License
 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
 
-package rpc
+// package web3ext contains geth specific web3.js extensions.
+package web3ext
 
-var (
-	// Holds geth specific RPC extends which can be used to extend web3
-	WEB3Extensions = map[string]string{
-		"txpool": TxPool_JS,
-		"admin":  Admin_JS,
-		"eth":    Eth_JS,
-		"miner":  Miner_JS,
-		"debug":  Debug_JS,
-		"net":    Net_JS,
-	}
-)
+var Modules = map[string]string{
+	"txpool": TxPool_JS,
+	"admin":  Admin_JS,
+	"eth":    Eth_JS,
+	"miner":  Miner_JS,
+	"debug":  Debug_JS,
+	"net":    Net_JS,
+}
 
 const TxPool_JS = `
 web3._extend({