diff --git a/pySim/apdu/ts_102_221.py b/pySim/apdu/ts_102_221.py
index 443ae1e2..48401c07 100644
--- a/pySim/apdu/ts_102_221.py
+++ b/pySim/apdu/ts_102_221.py
@@ -18,6 +18,7 @@ along with this program. If not, see .
"""
import logging
+from construct import GreedyRange, Struct
from pySim.construct import *
from pySim.filesystem import *
from pySim.runtime import RuntimeLchan
diff --git a/pySim/construct.py b/pySim/construct.py
index 0c82c413..988dbf32 100644
--- a/pySim/construct.py
+++ b/pySim/construct.py
@@ -1,7 +1,9 @@
from construct.lib.containers import Container, ListContainer
from construct.core import EnumIntegerString
import typing
-from construct import *
+from construct import Adapter, Prefixed, Int8ub, GreedyBytes, Default, Flag, Byte, Construct, Enum
+from construct import BitsInteger, BitStruct, Bytes, StreamError, stream_read_entire, stream_write
+from construct import SizeofError, IntegerError, swapbytes
from construct.core import evaluate, BitwisableString
from construct.lib import integertypes
from pySim.utils import b2h, h2b, swap_nibbles
diff --git a/pySim/global_platform/__init__.py b/pySim/global_platform/__init__.py
index ba34db8d..b6d23433 100644
--- a/pySim/global_platform/__init__.py
+++ b/pySim/global_platform/__init__.py
@@ -17,9 +17,9 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
"""
-from typing import Optional, List, Dict, Tuple
from construct import Optional as COptional
-from construct import *
+from construct import Struct, GreedyRange, FlagsEnum, Int16ub, Padding, Bit, Const
+from typing import Optional, List, Dict, Tuple
from copy import deepcopy
from bidict import bidict
from Cryptodome.Random import get_random_bytes
@@ -612,7 +612,7 @@ class ADF_SD(CardADF):
def set_status(self, scope:str, status:str, aid:Hexstr = ''):
SetStatus = Struct(Const(0x80, Byte), Const(0xF0, Byte),
'scope'/SetStatusScope, 'status'/CLifeCycleState,
- 'aid'/HexAdapter(Prefixed(Int8ub, Optional(GreedyBytes))))
+ 'aid'/HexAdapter(Prefixed(Int8ub, COptional(GreedyBytes))))
apdu = build_construct(SetStatus, {'scope':scope, 'status':status, 'aid':aid})
data, sw = self._cmd.lchan.scc.send_apdu_checksw(b2h(apdu))
diff --git a/pySim/tlv.py b/pySim/tlv.py
index 31051aaa..0dfb8582 100644
--- a/pySim/tlv.py
+++ b/pySim/tlv.py
@@ -19,7 +19,6 @@
from typing import Optional, List, Dict, Any, Tuple
from bidict import bidict
-from construct import *
from pySim.utils import bertlv_encode_len, bertlv_parse_len, bertlv_encode_tag, bertlv_parse_tag
from pySim.utils import comprehensiontlv_encode_tag, comprehensiontlv_parse_tag
diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py
index a85e0ad6..81de13c6 100644
--- a/pySim/ts_31_103.py
+++ b/pySim/ts_31_103.py
@@ -22,6 +22,7 @@ Various constants from 3GPP TS 31.103 V16.1.0
# along with this program. If not, see .
#
+from construct import Struct, Switch, this, Bytes, GreedyString
from pySim.filesystem import *
from pySim.utils import *
from pySim.tlv import *