diff --git a/gprs_gb/Test.ttcn b/gprs_gb/Test.ttcn
index 1c3fb50..19cfd26 100644
--- a/gprs_gb/Test.ttcn
+++ b/gprs_gb/Test.ttcn
@@ -4,7 +4,7 @@
 	import from Osmocom_Types all;
 	import from GSM_Types all;
 	import from GSM_RR_Types all;
-	import from BSSGP_Helper_Functions all;
+	import from Osmocom_Gb_Types all;
 	import from BSSGP_Types all;
 	import from BSSGP_Emulation all;
 	import from NS_Types all;
@@ -16,7 +16,7 @@
 
 	type record MmContext {
 		octetstring	imsi optional,
-		BssgpTlli	tlli,
+		GprsTlli	tlli,
 		uint9_t		n_u
 	};
 
@@ -59,24 +59,9 @@
 		lapdm_component.start(LAPDmStart());
 	}
 
-	function f_bssgp_assert_prepr(in octetstring a, in octetstring b) {
-		log("BSSGP Input: ", a);
-		log("BSSGP Expected: ", b);
-		var octetstring a_preprocessed := f_BSSGP_expand_len(a);
-		log("BSSGP Preprocessed: ", a_preprocessed);
-
-		if (a_preprocessed != b) {
-			setverdict(fail);
-		} else {
-			setverdict(pass);
-		}
-	}
-
 	function f_bssgp_dec_and_log(in octetstring inp) {
 		log("BSSGP Input: ", inp);
-		var octetstring inp_p := f_BSSGP_expand_len(inp);
-		log("BSSGP Preprocessed: ", inp_p);
-		var BssgpPdu dec := dec_BssgpPdu(inp_p);
+		var PDU_BSSGP dec := dec_PDU_BSSGP(inp);
 		log("BSSGP Decoded: ", dec);
 	}
 
@@ -97,18 +82,6 @@
 		const octetstring c_gmm_mt_det_req := '00bb146ddd0050001682ffff0a8204030e8941c00908050215f0b6'O;
 		const octetstring c_gmm_mo_att_cpl := '01fb146ddd000004088832f44000c80051e000800e000801c009080339d7bc'O;
 
-		/* single byte length to two byte length */
-		f_bssgp_assert_prepr('04058101'O, '0405000101'O);
-		f_bssgp_assert_prepr('040589000102030405060708'O, '04050009000102030405060708'O);
-		/* two byte length to two byte length */
-		f_bssgp_assert_prepr('0405000101'O, '0405000101'O);
-		/* special case: DL-UD + UL-UD */
-		f_bssgp_assert_prepr('00aabbccddeeffaa29822342'O, '00aabbccddeeffaa2900022342'O);
-		f_bssgp_assert_prepr('01aabbccddeeffaa29822342'O, '01aabbccddeeffaa2900022342'O);
-		/* multiple TLVs */
-		f_bssgp_assert_prepr('234281aa4382bbbb'O, '23420001aa430002bbbb'O);
-		f_bssgp_assert_prepr('230080'O, '23000000'O);
-
 		f_bssgp_dec_and_log(c_bvc_reset_pcu);
 		f_bssgp_dec_and_log(c_bvc_reset_q);
 		f_bssgp_dec_and_log(c_status_pcu);
@@ -125,16 +98,14 @@
 		f_bssgp_dec_and_log(c_gmm_mt_det_req);
 		f_bssgp_dec_and_log(c_gmm_mo_att_cpl);
 
-		log(t_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H));
+		log(ts_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H));
 	}
 
 	function f_ns_assert_prepr(in octetstring a, in octetstring b) {
 		log("NS Input: ", a);
 		log("NS Expected: ", b);
-		var octetstring a_preprocessed := f_NS_expand_len(a);
-		log("NS Preprocessed: ", a_preprocessed);
 
-		if (a_preprocessed != b) {
+		if (a != b) {
 			setverdict(fail);
 		} else {
 			setverdict(pass);
@@ -143,9 +114,7 @@
 
 	function f_ns_dec_and_log(in octetstring inp) {
 		log("NS Input: ", inp);
-		var octetstring inp_p := f_NS_expand_len(inp);
-		log("NS Preprocessed: ", inp_p);
-		var NsPdu dec := dec_NsPdu(inp_p);
+		var PDU_NS dec := dec_PDU_NS(inp);
 		log("NS Decoded: ", dec);
 	}
 
@@ -167,57 +136,6 @@
 		f_ns_dec_and_log(c_ns_reset_pcu);
 	}
 
-	const BssgpQosProfile c_DefaultQos := { r := 80, spare := '00'B, c_r := false, t := false, a := false, precedence := 0 };
-	template BssgpTLV c_DefaultLifetimeTLV := t_BSSGP_IE_Lifetime(65535);
-
-	template BssgpTLV t_BSSGP_IE_LLC_PDU(LlcPdu llc) := t_BssgpIE(LLC_PDU, { other := f_LLC_append_fcs(enc_LlcPdu(llc)) });
-
-	template BssgpPdu t_BSSGP_DL_UD(BssgpTlli tlli, LlcPdu llc, BssgpTLVs opt_tlvs := {}) := {
-		pdu_type := DL_UNITDATA,
-		u := {
-			dl_unitdata := {
-				tlli := tlli,
-				qos_profile := c_DefaultQos,
-				pdu_lifetime := c_DefaultLifetimeTLV,
-				//tlvs := opt_tlvs & { t_BSSGP_IE_LLC_PDU(llc) }
-				tlvs := { t_BSSGP_IE_LLC_PDU(llc) }
-			}
-		}
-	};
-
-	template BssgpPdu t_BSSGP_UL_UD(template BssgpTlli tlli, template BssgpCellId cell_id, template octetstring payload) := {
-		pdu_type := UL_UNITDATA,
-		u := {
-			ul_unitdata := {
-				tlli := tlli,
-				qos_profile := ?,
-				cell_id := { iei := CELL_ID, len := 8, u := { cell_id := cell_id } },
-				tlvs := {
-						{ iei := ALIGNMENT_OCTETS, len := ?, u := { other := ? } },
-						{ iei := LLC_PDU, len := ?, u := { other := payload } }
-				}
-			}
-		}
-	}
-
-	template BssgpPdu t_BSSGP_PS_PAGING_IMSI(BssgpBvci bvci, hexstring imsi) := {
-		pdu_type := PAGING_PS,
-		u := {
-			other := {
-				tlvs := { t_BSSGP_IE_Imsi(imsi), t_BSSGP_IE_Bvci(bvci), t_BSSGP_IE_Qos(c_DefaultQos) }
-			}
-		}
-	};
-
-	template BssgpPdu t_BSSGP_PS_PAGING_PTMSI(BssgpBvci bvci, hexstring imsi, GsmTmsi ptmsi) := {
-		pdu_type := PAGING_PS,
-		u := {
-			other := {
-				tlvs := { t_BSSGP_IE_Imsi(imsi), t_BSSGP_IE_Bvci(bvci), t_BSSGP_IE_Qos(c_DefaultQos), t_BSSGP_IE_Tmsi(ptmsi) }
-			}
-		}
-	};
-
 	const octetstring gmm_auth_req := '081200102198c72477ea104895e8b959acc58b108182'O;
 
 	function tx_gmm(boolean c_r, in octetstring gmm_pdu, LlcSapi sapi := LLC_SAPI_GMM) runs on dummy_CT {
@@ -231,9 +149,9 @@
 		log(llc);
 		g_mmctx.n_u := g_mmctx.n_u + 1;
 
-		log(t_BSSGP_DL_UD(g_mmctx.tlli, llc));
+		log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_LlcPdu(llc)));
 
-		BSSGP.send(t_BSSGP_DL_UD(g_mmctx.tlli, llc));
+		BSSGP.send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_LlcPdu(llc)));
 	}
 
 	function f_bssgp_establish() runs on dummy_CT {
@@ -257,13 +175,13 @@
 
 		f_bssgp_establish();
 
-		BSSGP.send(t_BSSGP_PS_PAGING_IMSI(bvci, imsi));
-		BSSGP.send(t_BSSGP_PS_PAGING_PTMSI(bvci, imsi, tmsi));
+		BSSGP.send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi));
+		BSSGP.send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, tmsi));
 
 		while (true) {
-			var BssgpPdu pdu;
+			var PDU_BSSGP pdu;
 			alt {
-				[] BSSGP.receive(BssgpPdu:?) -> value pdu {
+				[] BSSGP.receive(PDU_BSSGP:?) -> value pdu {
 					log("BSSGP Rx: ", pdu);
 				}
 				[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
@@ -404,7 +322,7 @@
 		var template RlcmacUlBlock blk := t_RLCMAC_UL_DATA_TLLI(0, 0, 0, {t_RLCMAC_LLCBLOCK(payload)}, false, tlli);
 		L1.send(RLCMAC_ph_data_req:{tbf_id := 0, cs := cs, block := blk});
 		/* ensure that this LLC-PDU arrives from the right TLLI at the (simulated) SGSN */
-		BSSGP.receive(t_BSSGP_UL_UD(tlli, ?, payload));
+		BSSGP.receive(tr_BSSGP_UL_UD(tlli, ?, payload));
 
 		/* ensure the MS eceives an UL_ACK_NACK */
 		alt {
@@ -428,11 +346,11 @@
 		f_single_ul_block(CS1);
 
 		while (true) {
-			var BssgpPdu pdu;
+			var PDU_BSSGP pdu;
 			var RLCMAC_ph_data_ind dl_msg;
 			alt {
 
-				[] BSSGP.receive(BssgpPdu:?) -> value pdu {
+				[] BSSGP.receive(PDU_BSSGP:?) -> value pdu {
 					log("BSSGP Rx: ", pdu);
 				}
 				[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
@@ -451,12 +369,12 @@
 		f_bssgp_establish();
 
 		while (true) {
-			var BssgpPdu pdu;
+			var PDU_BSSGP pdu;
 			alt {
-				[] BSSGP.receive(BssgpPdu:?) -> value pdu {
+				[] BSSGP.receive(PDU_BSSGP:?) -> value pdu {
 					log("BSSGP Rx: ", pdu);
 					//log("GMM Rx: ", dec_PDU_L3_MS_SGSN(pdu.payload));
-					g_mmctx.tlli := pdu.u.ul_unitdata.tlli;
+					g_mmctx.tlli := oct2int(pdu.pDU_BSSGP_UL_UNITDATA.tLLI);
 					tx_gmm(LLC_CR_DL_CMD, gmm_auth_req);
 				}
 				[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
@@ -494,7 +412,7 @@
 
 		f_llc_dec_and_log(c_gmm_att_pcu);
 
-		f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu);
+		//f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu);
 
 		log(valueof(t_LLC_UI(LLC_CR_DL_CMD, g_mmctx.n_u, gmm_auth_req, LLC_SAPI_GMM)));
 		log(t_LLC_UI(LLC_CR_DL_CMD, g_mmctx.n_u, gmm_auth_req, LLC_SAPI_GMM));
diff --git a/gprs_gb/gen_links.sh b/gprs_gb/gen_links.sh
index 32f892f..53b50fa 100755
--- a/gprs_gb/gen_links.sh
+++ b/gprs_gb/gen_links.sh
@@ -31,8 +31,17 @@
 FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
 gen_links $DIR $FILES
 
+DIR=$BASEDIR/titan.ProtocolModules.NS_v7.3.0/src
+FILES="NS_Types.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolModules.BSSGP_v13.0.0/src
+FILES="BSSGP_EncDec.cc  BSSGP_Types.ttcn"
+gen_links $DIR $FILES
+
+
 DIR=../library
 FILES="General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn "
-FILES+="NS_Types.ttcn NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc "
-FILES+="BSSGP_Emulation.ttcn BSSGP_Helper.cc BSSGP_Helper_Functions.ttcn BSSGP_Types.ttcn "
+FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc "
+FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn "
 gen_links $DIR $FILES
diff --git a/gprs_gb/regen_makefile.sh b/gprs_gb/regen_makefile.sh
index b883d1e..656726b 100755
--- a/gprs_gb/regen_makefile.sh
+++ b/gprs_gb/regen_makefile.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-FILES="*.ttcn BSSGP_Helper.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc UD_PT.cc RLCMAC_EncDec.cc"
+FILES="*.ttcn BSSGP_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc UD_PT.cc RLCMAC_EncDec.cc"
 
 ../regen-makefile.sh Test.ttcn $FILES
