refactor: remove more extern
diff --git a/src/Encrypt.c b/src/Encrypt.c
index 806a0dd..9ba37f1 100644
--- a/src/Encrypt.c
+++ b/src/Encrypt.c
@@ -19,7 +19,7 @@
 #if INCLUDE_ENCRYPT || INCLUDE_MAC
 void _COSE_Enveloped_Release(COSE_Enveloped * p);
 
-COSE * EnvelopedRoot = NULL;
+static COSE * EnvelopedRoot = NULL;
 #endif
 
 #if INCLUDE_ENCRYPT
diff --git a/src/Encrypt0.c b/src/Encrypt0.c
index 9012fe2..ad6b84c 100644
--- a/src/Encrypt0.c
+++ b/src/Encrypt0.c
@@ -17,7 +17,7 @@
 #if INCLUDE_ENCRYPT0 || INCLUDE_MAC0
 void _COSE_Encrypt_Release(COSE_Encrypt * p);
 
-COSE * EncryptRoot = NULL;
+static COSE * EncryptRoot = NULL;
 #endif
 
 #if INCLUDE_ENCRYPT0
diff --git a/src/MacMessage.c b/src/MacMessage.c
index b09870a..0ee00a3 100644
--- a/src/MacMessage.c
+++ b/src/MacMessage.c
@@ -17,7 +17,7 @@
 
 #if INCLUDE_MAC
 
-COSE * MacRoot = NULL;
+static COSE * MacRoot = NULL;
 
 /*! \private
 * @brief Test if a HCOSE_MAC handle is valid
diff --git a/src/MacMessage0.c b/src/MacMessage0.c
index e9368d0..0f06095 100644
--- a/src/MacMessage0.c
+++ b/src/MacMessage0.c
@@ -17,7 +17,7 @@
 
 #if INCLUDE_MAC0
 
-COSE * Mac0Root = NULL;
+static COSE * Mac0Root = NULL;
 
 /*! \private
 * @brief Test if a HCOSE_MAC0 handle is valid
diff --git a/src/Recipient.c b/src/Recipient.c
index 761f52b..8f103cb 100644
--- a/src/Recipient.c
+++ b/src/Recipient.c
@@ -9,11 +9,11 @@
 #include "crypto.h"
 
 #if INCLUDE_ENCRYPT || INCLUDE_ENCRYPT0 || INCLUDE_MAC || INCLUDE_MAC0
-extern bool BuildContextBytes(COSE * pcose, int algID, size_t cbitKey, byte ** ppbContext, size_t * pcbContext, CBOR_CONTEXT_COMMA cose_errback * perr);
+static bool BuildContextBytes(COSE * pcose, int algID, size_t cbitKey, byte ** ppbContext, size_t * pcbContext, CBOR_CONTEXT_COMMA cose_errback * perr);
 #endif
 
 #if INCLUDE_ENCRYPT || INCLUDE_MAC
-COSE* RecipientRoot = NULL;
+static COSE* RecipientRoot = NULL;
 
 /*! \private
 * @brief Test if a HCOSE_RECIPIENT handle is valid
@@ -1215,7 +1215,7 @@
 #endif
 
 #if INCLUDE_ENCRYPT || INCLUDE_ENCRYPT0 || INCLUDE_MAC || INCLUDE_MAC0
-bool BuildContextBytes(COSE * pcose, int algID, size_t cbitKey, byte ** ppbContext, size_t * pcbContext, CBOR_CONTEXT_COMMA cose_errback * perr)
+static bool BuildContextBytes(COSE * pcose, int algID, size_t cbitKey, byte ** ppbContext, size_t * pcbContext, CBOR_CONTEXT_COMMA cose_errback * perr)
 {
 	cn_cbor * pArray;
 	cn_cbor_errback cbor_error;
diff --git a/src/Sign.c b/src/Sign.c
index c9c04fd..d0190aa 100644
--- a/src/Sign.c
+++ b/src/Sign.c
@@ -10,7 +10,7 @@
 
 #if INCLUDE_SIGN
 
-COSE * SignRoot = NULL;
+static COSE * SignRoot = NULL;
 
 /*! \private
 * @brief Test if a HCOSE_SIGN handle is valid
@@ -26,7 +26,7 @@
 *  @returns result of check
 */
 
-bool IsValidSignHandle(HCOSE_SIGN h)
+static bool IsValidSignHandle(HCOSE_SIGN h)
 {
 	COSE_SignMessage * p = (COSE_SignMessage *)h;
 
diff --git a/src/Sign1.c b/src/Sign1.c
index f71c8ce..60f89f1 100644
--- a/src/Sign1.c
+++ b/src/Sign1.c
@@ -15,7 +15,7 @@
 bool _COSE_Signer0_validate(COSE_Sign1Message * pSign, const cn_cbor * pKey, cose_errback * perr);
 void _COSE_Sign1_Release(COSE_Sign1Message * p);
 
-COSE * Sign1Root = NULL;
+static COSE * Sign1Root = NULL;
 
 /*! \private
 * @brief Test if a HCOSE_SIGN1 handle is valid
diff --git a/src/SignerInfo.c b/src/SignerInfo.c
index 8898916..8410802 100644
--- a/src/SignerInfo.c
+++ b/src/SignerInfo.c
@@ -14,9 +14,7 @@
 
 #if INCLUDE_SIGN
 
-extern bool IsValidSignHandle(HCOSE_SIGN h);
-
-COSE * SignerRoot = NULL;
+static COSE * SignerRoot = NULL;
 
 bool IsValidSignerHandle(HCOSE_SIGNER h)
 {
@@ -110,7 +108,7 @@
 	return NULL;
 }
 
-bool BuildToBeSigned(byte ** ppbToSign, size_t * pcbToSign, const cn_cbor * pcborBody, const cn_cbor * pcborProtected, const cn_cbor * pcborProtectedSign, const byte * pbExternal, size_t cbExternal, CBOR_CONTEXT_COMMA cose_errback * perr)
+static bool BuildToBeSigned(byte ** ppbToSign, size_t * pcbToSign, const cn_cbor * pcborBody, const cn_cbor * pcborProtected, const cn_cbor * pcborProtectedSign, const byte * pbExternal, size_t cbExternal, CBOR_CONTEXT_COMMA cose_errback * perr)
 {
 	cn_cbor * pArray = NULL;
 	cn_cbor_errback cbor_error;
diff --git a/src/crypto.h b/src/crypto.h
index 5a069d2..2585bc9 100644
--- a/src/crypto.h
+++ b/src/crypto.h
@@ -33,10 +33,9 @@
 bool AES_KW_Encrypt(COSE_RecipientInfo * pcose, const byte * pbKeyIn, int cbitKey, const byte *  pbContent, int  cbContent, cose_errback * perr);
 
 
-extern bool AES_CMAC_Validate(COSE_MacMessage * pcose, int KeySize, int TagSize, const byte * pbKey, int cbitKey, const byte * pbAuthData, size_t cbAuthData, cose_errback * perr);
-
-extern bool AES_CBC_MAC_Create(COSE_MacMessage * pcose, int TagSize, const byte * pbKey, size_t cbKey, const byte * pbAuthData, size_t cbAuthData, cose_errback * perr);
-extern bool AES_CBC_MAC_Validate(COSE_MacMessage * pcose, int TagSize, const byte * pbKey, size_t cbitKey, const byte * pbAuthData, size_t cbAuthData, cose_errback * perr);
+bool AES_CMAC_Validate(COSE_MacMessage * pcose, int KeySize, int TagSize, const byte * pbKey, int cbitKey, const byte * pbAuthData, size_t cbAuthData, cose_errback * perr);
+bool AES_CBC_MAC_Create(COSE_MacMessage * pcose, int TagSize, const byte * pbKey, size_t cbKey, const byte * pbAuthData, size_t cbAuthData, cose_errback * perr);
+bool AES_CBC_MAC_Validate(COSE_MacMessage * pcose, int TagSize, const byte * pbKey, size_t cbitKey, const byte * pbAuthData, size_t cbAuthData, cose_errback * perr);
 
 /**
 * Perform an HMAC Creation operation
diff --git a/src/mbedtls.c b/src/mbedtls.c
index 4cf3e9f..462120e 100644
--- a/src/mbedtls.c
+++ b/src/mbedtls.c
@@ -21,7 +21,7 @@
 #include "mbedtls/ecdh.h"
 #include "mbedtls/nist_kw.h"
 
-bool FUseCompressed = true;
+static bool FUseCompressed = true;
 
 #define MIN(A, B) ((A) < (B) ? (A) : (B))
 
diff --git a/src/openssl.c b/src/openssl.c
index 297fa33..c1f1e3f 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -17,7 +17,7 @@
 #include <openssl/ecdh.h>
 #include <openssl/rand.h>
 
-bool FUseCompressed = true;
+static bool FUseCompressed = true;
 
 #define MIN(A, B) ((A) < (B) ? (A) : (B))
 
diff --git a/test/json.c b/test/json.c
index d3bd7bc..a786744 100644
--- a/test/json.c
+++ b/test/json.c
@@ -144,7 +144,7 @@
 }
 
 
-extern void build_decoding_table();
+static void build_decoding_table();
 
 
 static char encoding_table[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
@@ -237,7 +237,7 @@
 }
 
 
-void build_decoding_table() {
+static void build_decoding_table() {
 
 	decoding_table = malloc(256);
 
diff --git a/test/json.h b/test/json.h
index 4e2d60f..6dbef75 100644
--- a/test/json.h
+++ b/test/json.h
@@ -1,6 +1,5 @@
 #pragma once
 
-extern const cn_cbor * ParseJson(const char * fileName);
-
-extern unsigned char *base64_decode(const char *data,	size_t input_length,	size_t *output_length);
-extern unsigned char* hex_decode(const char* data, size_t input_length, size_t* output_length);
+const cn_cbor * ParseJson(const char * fileName);
+unsigned char *base64_decode(const char *data,	size_t input_length,	size_t *output_length);
+unsigned char* hex_decode(const char* data, size_t input_length, size_t* output_length);