diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index d50c571..6cacff7 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -26,6 +26,7 @@
 import from MobileL3_MM_Types all;
 import from MobileL3_CC_Types all;
 import from L3_Templates all;
+import from L3_Common all;
 
 /* this component represents a single subscriber connection */
 type component BSC_ConnHdlr extends BSSAP_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr {
@@ -33,13 +34,6 @@
 	timer g_Tguard := 60.0;
 }
 
-type record AuthVector {
-	OCT16 rand,
-	OCT4 sres,
-	OCT8 kc
-	/* FIXME: 3G elements */
-}
-
 type record BSC_ConnHdlrNetworkPars {
 	OCT1	kc_support,
 	boolean expect_tmsi,
@@ -248,24 +242,6 @@
 	return l3_info;
 }
 
-private function f_rnd_oct(integer len) return octetstring {
-	var integer i;
-	var octetstring res;
-	for (i := 0; i < len; i := i + 1) {
-		res[i] := int2oct(float2int(rnd()*256.0), 1);
-	}
-	return res;
-}
-
-function f_gen_auth_vec_2g() return AuthVector {
-	var AuthVector vec;
-	vec.rand := f_rnd_oct(16);
-	vec.sres := f_rnd_oct(4);
-	vec.kc := f_rnd_oct(8);
-	return vec;
-}
-
-
 function f_mm_auth() runs on BSC_ConnHdlr
 {
 	if (g_pars.net.expect_auth) {
