diff --git a/Makefile b/Makefile
index 5efaae390..0a91f50a8 100644
--- a/Makefile
+++ b/Makefile
@@ -3,36 +3,36 @@ GZIP=gzip
 #  amount of shell command line parsing going on. echo "" on
 #  Windows yields literal "", on Linux yields an empty line
 ifeq ($(shell echo ""),)
-  # This is probably a proper system, so we can use uname
-  DELETE=rm -rf
-  FLASH_TOOL=client/flasher
-  platform=$(shell uname)
-  ifneq (,$(findstring MINGW,$(platform)))
+    # This is probably a proper system, so we can use uname
+    DELETE=rm -rf
+    FLASH_TOOL=client/flasher
+    platform=$(shell uname)
+    ifneq (,$(findstring MINGW,$(platform)))
+        FLASH_PORT=com3
+        PATHSEP=\\#
+    else
+        FLASH_PORT=/dev/ttyACM0
+        PATHSEP=/
+    endif
+else
+    # Assume that we are running on native Windows
+    DELETE=del /q
+    FLASH_TOOL=client/flasher.exe
+    platform=Windows
     FLASH_PORT=com3
     PATHSEP=\\#
-  else
-    FLASH_PORT=/dev/ttyACM0
-    PATHSEP=/
-  endif
-else
-  # Assume that we are running on native Windows
-  DELETE=del /q
-  FLASH_TOOL=client/flasher.exe
-  platform=Windows
-  FLASH_PORT=com3
-  PATHSEP=\\#
 endif
 
 ifeq ($(PLATFORM),)
-  -include Makefile.platform
-  ifeq ($(PLATFORM),)
-    PLATFORM=PM3RDV4
-  else
-    ${info using saved PLATFORM:        '$(PLATFORM)'}
-  endif
-  ifneq ($(PLATFORM_EXTRAS),)
-    ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
-  endif
+    -include Makefile.platform
+    ifeq ($(PLATFORM),)
+        PLATFORM=PM3RDV4
+    else
+        ${info using saved PLATFORM:        '$(PLATFORM)'}
+    endif
+    ifneq ($(PLATFORM_EXTRAS),)
+        ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
+    endif
 endif
 
 include common/Makefile.hal
diff --git a/armsrc/Makefile b/armsrc/Makefile
index 01193a4f8..dc661edc6 100644
--- a/armsrc/Makefile
+++ b/armsrc/Makefile
@@ -10,31 +10,31 @@ APP_INCLUDES = apps.h
 
 # This Makefile might have been called directly, not via the root Makefile, so:
 ifeq ($(PLTNAME),)
-  -include ../Makefile.platform
-  ifeq ($(PLATFORM),)
-    PLATFORM=PM3RDV4
-  else
-    ${info using saved PLATFORM:        '$(PLATFORM)'}
-  endif
-  ifneq ($(PLATFORM_EXTRAS),)
-    ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
-  endif
-  include ../common/Makefile.hal
-  $(info ===================================================================)
-  $(info Platform name:     $(PLTNAME))
-  $(info PLATFORM:          $(PLATFORM))
-  $(info PLATFORM_EXTRAS:   $(PLATFORM_EXTRAS))
-  $(info Included options:  $(PLATFORM_DEFS_INFO))
-  $(info Standalone mode:   $(PLATFORM_DEFS_INFO_STANDALONE))
-  $(info ===================================================================)
+    -include ../Makefile.platform
+    ifeq ($(PLATFORM),)
+        PLATFORM=PM3RDV4
+    else
+        ${info using saved PLATFORM:        '$(PLATFORM)'}
+    endif
+    ifneq ($(PLATFORM_EXTRAS),)
+        ${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
+    endif
+    include ../common/Makefile.hal
+    $(info ===================================================================)
+    $(info Platform name:     $(PLTNAME))
+    $(info PLATFORM:          $(PLATFORM))
+    $(info PLATFORM_EXTRAS:   $(PLATFORM_EXTRAS))
+    $(info Included options:  $(PLATFORM_DEFS_INFO))
+    $(info Standalone mode:   $(PLATFORM_DEFS_INFO_STANDALONE))
+    $(info ===================================================================)
 endif
 
 #remove one of the following defines and comment out the relevant line
 #in the next section to remove that particular feature from compilation.
 # NO space,TABs after the "\" sign.
 APP_CFLAGS = $(PLATFORM_DEFS) \
-			 -DON_DEVICE \
-			 -fno-strict-aliasing -ffunction-sections -fdata-sections
+             -DON_DEVICE \
+             -fno-strict-aliasing -ffunction-sections -fdata-sections
 
 SRC_LF = lfops.c lfsampling.c pcf7931.c lfdemod.c
 SRC_ISO15693 = iso15693.c iso15693tools.c
@@ -49,21 +49,21 @@ SRC_LEGIC = legicrf.c legicrfsim.c legic_prng.c
 
 # RDV40 related hardware support
 ifneq (,$(findstring WITH_FLASH,$(APP_CFLAGS)))
-	SRC_FLASH = flashmem.c
+    SRC_FLASH = flashmem.c
 else
-	SRC_FLASH =
+    SRC_FLASH =
 endif
 
 ifneq (,$(findstring WITH_SMARTCARD,$(APP_CFLAGS)))
-	SRC_SMARTCARD = i2c.c
+    SRC_SMARTCARD = i2c.c
 else
-	SRC_SMARTCARD =
+    SRC_SMARTCARD =
 endif
 
 ifneq (,$(findstring WITH_FPC_USART,$(APP_CFLAGS)))
-	SRC_FPC = usart.c
+    SRC_FPC = usart.c
 else
-	SRC_FPC =
+    SRC_FPC =
 endif
 
 ifneq (,$(findstring WITH_HITAG,$(APP_CFLAGS)))
@@ -84,35 +84,35 @@ endif
 SRC_STANDALONE = placeholder.c
 # WITH_STANDALONE_LF_ICERUN
 ifneq (,$(findstring WITH_STANDALONE_LF_ICERUN,$(APP_CFLAGS)))
-	SRC_STANDALONE = lf_icerun.c
+    SRC_STANDALONE = lf_icerun.c
 endif
 # WITH_STANDALONE_LF_SAMYRUN
 ifneq (,$(findstring WITH_STANDALONE_LF_SAMYRUN,$(APP_CFLAGS)))
-	SRC_STANDALONE = lf_samyrun.c
+    SRC_STANDALONE = lf_samyrun.c
 endif
 # WITH_STANDALONE_LF_PROXBRUTE
 ifneq (,$(findstring WITH_STANDALONE_LF_PROXBRUTE,$(APP_CFLAGS)))
-	SRC_STANDALONE = lf_proxbrute.c
+    SRC_STANDALONE = lf_proxbrute.c
 endif
 # WITH_STANDALONE_LF_HIDBRUTE
 ifneq (,$(findstring WITH_STANDALONE_LF_HIDBRUTE,$(APP_CFLAGS)))
-	SRC_STANDALONE = lf_hidbrute.c
+    SRC_STANDALONE = lf_hidbrute.c
 endif
 # WITH_STANDALONE_HF_YOUNG
 ifneq (,$(findstring WITH_STANDALONE_HF_YOUNG,$(APP_CFLAGS)))
-	SRC_STANDALONE = hf_young.c
+    SRC_STANDALONE = hf_young.c
 endif
 # WITH_STANDALONE_HF_MATTYRUN
 ifneq (,$(findstring WITH_STANDALONE_HF_MATTYRUN,$(APP_CFLAGS)))
-	SRC_STANDALONE = hf_mattyrun.c
+    SRC_STANDALONE = hf_mattyrun.c
 endif
 # WITH_STANDALONE_HF_COLIN
 ifneq (,$(findstring WITH_STANDALONE_HF_COLIN,$(APP_CFLAGS)))
-	SRC_STANDALONE = vtsend.c hf_colin.c
+    SRC_STANDALONE = vtsend.c hf_colin.c
 endif
 # WITH_STANDALONE_HF_BOG
 ifneq (,$(findstring WITH_STANDALONE_HF_BOG,$(APP_CFLAGS)))
-	SRC_STANDALONE = hf_bog.c
+    SRC_STANDALONE = hf_bog.c
 endif
 
 #the FPGA bitstream files. Note: order matters!
@@ -132,42 +132,42 @@ APP_CFLAGS += -I. -fno-stack-protector -fno-pie
 
 # Compile these in thumb mode (small size)
 THUMBSRC = start.c \
-	protocols.c \
-	$(SRC_LCD) \
-	$(SRC_ISO15693) \
-	$(SRC_LF) \
-	$(SRC_ZLIB) \
-	$(SRC_LEGIC) \
-	$(SRC_FLASH) \
-	$(SRC_SMARTCARD) \
-	$(SRC_FPC) \
+    protocols.c \
+    $(SRC_LCD) \
+    $(SRC_ISO15693) \
+    $(SRC_LF) \
+    $(SRC_ZLIB) \
+    $(SRC_LEGIC) \
+    $(SRC_FLASH) \
+    $(SRC_SMARTCARD) \
+    $(SRC_FPC) \
     $(SRC_HITAG) \
-	appmain.c \
-	printf.c \
-	commonutil.c \
-	util.c \
-	string.c \
-	BigBuf.c \
-	ticks.c \
-	hfsnoop.c
+    appmain.c \
+    printf.c \
+    commonutil.c \
+    util.c \
+    string.c \
+    BigBuf.c \
+    ticks.c \
+    hfsnoop.c
 
 
 # These are to be compiled in ARM mode
 ARMSRC = fpgaloader.c \
-	$(SRC_ISO14443a) \
-	$(SRC_ISO14443b) \
-	$(SRC_CRAPTO1) \
-	$(SRC_ICLASS) \
-	$(SRC_EMV) \
-	$(SRC_CRC) \
-	$(SRC_FELICA) \
-	$(SRC_STANDALONE) \
-	parity.c \
-	usb_cdc.c \
-	cmd.c
+    $(SRC_ISO14443a) \
+    $(SRC_ISO14443b) \
+    $(SRC_CRAPTO1) \
+    $(SRC_ICLASS) \
+    $(SRC_EMV) \
+    $(SRC_CRC) \
+    $(SRC_FELICA) \
+    $(SRC_STANDALONE) \
+    parity.c \
+    usb_cdc.c \
+    cmd.c
 
 VERSIONSRC = version.c \
-	fpga_version_info.c
+    fpga_version_info.c
 
 # Do not move this inclusion before the definition of {THUMB,ASM,ARM}SRC
 include ../common/Makefile.common
diff --git a/client/Makefile b/client/Makefile
index c9069a276..318e2f1bd 100644
--- a/client/Makefile
+++ b/client/Makefile
@@ -68,10 +68,10 @@ LUAPLATFORM = generic
 ifneq (,$(findstring MINGW,$(platform)))
     LUAPLATFORM = mingw
 else
-	ifeq ($(platform),Darwin)
+    ifeq ($(platform),Darwin)
     LUAPLATFORM = macosx
-	OBJCSRCS = util_darwin.m
-	LDFLAGS += -framework Foundation -framework AppKit
+    OBJCSRCS = util_darwin.m
+    LDFLAGS += -framework Foundation -framework AppKit
 else
     LUALIB +=  -ldl
     LDLIBS +=  -ltermcap -lncurses
@@ -86,26 +86,26 @@ MOC = $(shell pkg-config --variable=host_bins Qt5Core)/moc
 UIC = $(shell pkg-config --variable=host_bins Qt5Core)/uic
 ifeq ($(QTINCLUDES), )
 # if Qt5 not found check for correctly configured Qt4
-	QTINCLUDES = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null)
-	QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
-	MOC = $(shell pkg-config --variable=moc_location QtCore)
-	UIC = $(shell pkg-config --variable=uic_location QtCore)
+    QTINCLUDES = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null)
+    QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
+    MOC = $(shell pkg-config --variable=moc_location QtCore)
+    UIC = $(shell pkg-config --variable=uic_location QtCore)
 else
-	CXXFLAGS += -std=c++11 -fPIC
+    CXXFLAGS += -std=c++11 -fPIC
 endif
 ifeq ($(QTINCLUDES), )
 # if both pkg-config commands failed, search in common places
-	ifneq ($(QTDIR), )
-		QTINCLUDES = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
-		QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
-		ifneq ($(wildcard $(QTDIR)/include/QtWidgets),)
-			QTINCLUDES += -I$(QTDIR)/include/QtWidgets
-			QTLDLIBS = -L$(QTDIR)/lib -lQt5Widgets -lQt5Gui -lQt5Core
-			CXXFLAGS += -std=c++11 -fPIC
-		endif
-		MOC = $(QTDIR)/bin/moc
-		UIC = $(QTDIR)/bin/uic
-	endif
+    ifneq ($(QTDIR), )
+        QTINCLUDES = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
+        QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
+        ifneq ($(wildcard $(QTDIR)/include/QtWidgets),)
+            QTINCLUDES += -I$(QTDIR)/include/QtWidgets
+            QTLDLIBS = -L$(QTDIR)/lib -lQt5Widgets -lQt5Gui -lQt5Core
+            CXXFLAGS += -std=c++11 -fPIC
+        endif
+        MOC = $(QTDIR)/bin/moc
+        UIC = $(QTDIR)/bin/uic
+    endif
 endif
 
 
@@ -124,139 +124,139 @@ DEPFLAGS = -MT $@ -MMD -MP -MF $(OBJDIR)/$*.Td
 POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d
 
 CORESRCS =  uart_posix.c \
-			uart_win32.c \
-			ui.c \
-			commonutil.c \
-			util.c \
-			util_posix.c \
-			scandir.c \
-			crc16.c \
-			comms.c
+            uart_win32.c \
+            ui.c \
+            commonutil.c \
+            util.c \
+            util_posix.c \
+            scandir.c \
+            crc16.c \
+            comms.c
 
-CMDSRCS =	crapto1/crapto1.c \
-			crapto1/crypto1.c \
-			mifare/mfkey.c \
-			tea.c \
-			fido/additional_ca.c \
-			fido/cose.c \
-			fido/cbortools.c \
-			fido/fidocore.c \
-			crypto/asn1dump.c \
-			crypto/libpcrypto.c\
-			crypto/asn1utils.c\
-			cliparser/argtable3.c\
-			cliparser/cliparser.c\
-			loclass/cipher.c \
-			loclass/cipherutils.c \
-			loclass/ikeys.c \
-			loclass/elite_crack.c \
-			loclass/fileutils.c \
-			whereami.c \
-			mifare/mifarehost.c \
-			parity.c \
-			crc.c \
-			crc64.c \
-			legic_prng.c \
-			iso15693tools.c \
-			prng.c \
-			graph.c \
-			cmddata.c \
-			lfdemod.c \
-			emv/crypto_polarssl.c\
-			emv/crypto.c\
-			emv/emv_pk.c\
-			emv/emv_pki.c\
-			emv/emv_pki_priv.c\
-			emv/test/cryptotest.c\
-			emv/apduinfo.c \
-			emv/dump.c \
-			emv/tlv.c \
-			emv/emv_tags.c \
-			emv/dol.c \
-			emv/emvjson.c\
-			emv/emvcore.c \
-			emv/test/crypto_test.c\
-			emv/test/sda_test.c\
-			emv/test/dda_test.c\
-			emv/test/cda_test.c\
-			emv/cmdemv.c \
-			emv/emv_roca.c \
+CMDSRCS =    crapto1/crapto1.c \
+            crapto1/crypto1.c \
+            mifare/mfkey.c \
+            tea.c \
+            fido/additional_ca.c \
+            fido/cose.c \
+            fido/cbortools.c \
+            fido/fidocore.c \
+            crypto/asn1dump.c \
+            crypto/libpcrypto.c\
+            crypto/asn1utils.c\
+            cliparser/argtable3.c\
+            cliparser/cliparser.c\
+            loclass/cipher.c \
+            loclass/cipherutils.c \
+            loclass/ikeys.c \
+            loclass/elite_crack.c \
+            loclass/fileutils.c \
+            whereami.c \
+            mifare/mifarehost.c \
+            parity.c \
+            crc.c \
+            crc64.c \
+            legic_prng.c \
+            iso15693tools.c \
+            prng.c \
+            graph.c \
+            cmddata.c \
+            lfdemod.c \
+            emv/crypto_polarssl.c\
+            emv/crypto.c\
+            emv/emv_pk.c\
+            emv/emv_pki.c\
+            emv/emv_pki_priv.c\
+            emv/test/cryptotest.c\
+            emv/apduinfo.c \
+            emv/dump.c \
+            emv/tlv.c \
+            emv/emv_tags.c \
+            emv/dol.c \
+            emv/emvjson.c\
+            emv/emvcore.c \
+            emv/test/crypto_test.c\
+            emv/test/sda_test.c\
+            emv/test/dda_test.c\
+            emv/test/cda_test.c\
+            emv/cmdemv.c \
+            emv/emv_roca.c \
             mifare/mifare4.c \
             mifare/mad.c \
             mifare/ndef.c \
-			cmdanalyse.c \
-			cmdhf.c \
-			cmdhflist.c \
-			cmdhf14a.c \
-			cmdhf14b.c \
-			cmdhf15.c \
-			cmdhfepa.c \
-			cmdhflegic.c \
-			cmdhficlass.c \
-			cmdhfmf.c \
+            cmdanalyse.c \
+            cmdhf.c \
+            cmdhflist.c \
+            cmdhf14a.c \
+            cmdhf14b.c \
+            cmdhf15.c \
+            cmdhfepa.c \
+            cmdhflegic.c \
+            cmdhficlass.c \
+            cmdhfmf.c \
             cmdhfmfu.c \
             cmdhfmfp.c \
-			cmdhfmfhard.c \
+            cmdhfmfhard.c \
             hardnested/hardnested_bruteforce.c \
-			cmdhfmfdes.c \
-			cmdhftopaz.c \
-			cmdhffido.c \
-			cmdhffelica.c \
-			cmdhw.c \
-			cmdlf.c \
-			cmdlfawid.c \
-			cmdlfcotag.c \
-			cmdlfem4x.c \
-			cmdlffdx.c \
-			cmdlfguard.c \
-			cmdlfhid.c \
-			cmdlfhitag.c \
-			cmdlfio.c \
-			cmdlfindala.c \
-			cmdlfjablotron.c \
-			cmdlfkeri.c \
-			cmdlfnexwatch.c \
-			cmdlfnedap.c \
-			cmdlfnoralsy.c \
-			cmdlfpac.c \
-			cmdlfparadox.c \
-			cmdlfpcf7931.c \
-			cmdlfpresco.c \
-			cmdlfpyramid.c \
-			cmdlfsecurakey.c \
-			cmdlft55xx.c \
-			cmdlfti.c \
-			cmdlfviking.c \
-			cmdlfvisa2000.c \
-			cmdtrace.c \
-			cmdflashmem.c \
-			cmdsmartcard.c \
-			cmdusart.c \
-			cmdparser.c \
-			cmdmain.c \
-			pm3_binlib.c \
-			scripting.c \
-			cmdscript.c \
-			pm3_bitlib.c \
-			protocols.c \
-			cmdcrc.c \
-			reveng/preset.c \
-			reveng/reveng.c \
-			reveng/cli.c \
-			reveng/bmpbit.c \
-			reveng/model.c \
-			reveng/poly.c \
-			bucketsort.c
+            cmdhfmfdes.c \
+            cmdhftopaz.c \
+            cmdhffido.c \
+            cmdhffelica.c \
+            cmdhw.c \
+            cmdlf.c \
+            cmdlfawid.c \
+            cmdlfcotag.c \
+            cmdlfem4x.c \
+            cmdlffdx.c \
+            cmdlfguard.c \
+            cmdlfhid.c \
+            cmdlfhitag.c \
+            cmdlfio.c \
+            cmdlfindala.c \
+            cmdlfjablotron.c \
+            cmdlfkeri.c \
+            cmdlfnexwatch.c \
+            cmdlfnedap.c \
+            cmdlfnoralsy.c \
+            cmdlfpac.c \
+            cmdlfparadox.c \
+            cmdlfpcf7931.c \
+            cmdlfpresco.c \
+            cmdlfpyramid.c \
+            cmdlfsecurakey.c \
+            cmdlft55xx.c \
+            cmdlfti.c \
+            cmdlfviking.c \
+            cmdlfvisa2000.c \
+            cmdtrace.c \
+            cmdflashmem.c \
+            cmdsmartcard.c \
+            cmdusart.c \
+            cmdparser.c \
+            cmdmain.c \
+            pm3_binlib.c \
+            scripting.c \
+            cmdscript.c \
+            pm3_bitlib.c \
+            protocols.c \
+            cmdcrc.c \
+            reveng/preset.c \
+            reveng/reveng.c \
+            reveng/cli.c \
+            reveng/bmpbit.c \
+            reveng/model.c \
+            reveng/poly.c \
+            bucketsort.c
 
 cpu_arch = $(shell uname -m)
 ifneq ($(findstring 86, $(cpu_arch)), )
-	MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
+    MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
 endif
 ifneq ($(findstring amd64, $(cpu_arch)), )
-	MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
+    MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
 endif
 ifeq ($(MULTIARCHSRCS), )
-	CMDSRCS += hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
+    CMDSRCS += hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
 endif
 
 ZLIBSRCS = deflate.c adler32.c trees.c zutil.c inflate.c inffast.c inftrees.c
@@ -270,10 +270,10 @@ CMDOBJS = $(CMDSRCS:%.c=$(OBJDIR)/%.o)
 OBJCOBJS = $(OBJCSRCS:%.m=$(OBJDIR)/%.o)
 ZLIBOBJS = $(ZLIBSRCS:%.c=$(OBJDIR)/%.o)
 MULTIARCHOBJS = $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_NOSIMD.o) \
-			$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_MMX.o) \
-			$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_SSE2.o) \
-			$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX.o) \
-			$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX2.o)
+            $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_MMX.o) \
+            $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_SSE2.o) \
+            $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX.o) \
+            $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX2.o)
 
 SUPPORTS_AVX512 :=  $(shell echo | gcc -E -mavx512f - > /dev/null 2>&1 && echo "True" )
 
@@ -284,12 +284,12 @@ HARD_SWITCH_AVX = -mmmx -msse2 -mavx -mno-avx2
 HARD_SWITCH_AVX2 = -mmmx -msse2 -mavx -mavx2
 HARD_SWITCH_AVX512 = -mmmx -msse2 -mavx -mavx2 -mavx512f
 ifeq "$(SUPPORTS_AVX512)" "True"
-	HARD_SWITCH_NOSIMD += -mno-avx512f
-	HARD_SWITCH_MMX += -mno-avx512f
-	HARD_SWITCH_SSE2 += -mno-avx512f
-	HARD_SWITCH_AVX += -mno-avx512f
-	HARD_SWITCH_AVX2 += -mno-avx512f
-	MULTIARCHOBJS +=  $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX512.o)
+    HARD_SWITCH_NOSIMD += -mno-avx512f
+    HARD_SWITCH_MMX += -mno-avx512f
+    HARD_SWITCH_SSE2 += -mno-avx512f
+    HARD_SWITCH_AVX += -mno-avx512f
+    HARD_SWITCH_AVX2 += -mno-avx512f
+    MULTIARCHOBJS +=  $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX512.o)
 endif
 
 BINS = proxmark3 flasher fpga_compress
diff --git a/common/Makefile.common b/common/Makefile.common
index a0e44fbe9..bbdf1d0e4 100644
--- a/common/Makefile.common
+++ b/common/Makefile.common
@@ -89,15 +89,15 @@ $(VERSIONOBJ): $(OBJDIR)/%.o: %.c $(INCLUDES)
 # without touching start address or RAM addresses (.bss and .data sections)
 # See ldscript.common. -- Henryk Plötz <henryk@ploetzli.ch> 2009-08-27
 OBJCOPY_TRANSLATIONS = --no-change-warnings \
-	--change-addresses -0x100000 --change-start 0 \
-	--change-section-address .bss+0 --change-section-address .data-0x100000 \
-	--change-section-address .commonarea+0
+    --change-addresses -0x100000 --change-start 0 \
+    --change-section-address .bss+0 --change-section-address .data-0x100000 \
+    --change-section-address .commonarea+0
 $(OBJDIR)/%.s19: $(OBJDIR)/%.elf
 	$(OBJCOPY) -Osrec --srec-forceS3 --strip-debug $(OBJCOPY_TRANSLATIONS) $^ $@
 
 # easy printing of MAKE VARIABLES
 print-%: ; @echo $* = $($*) 
-	
+
 # Automatic dependency generation
 DEPENDENCY_FILES = $(patsubst %.c,$(OBJDIR)/%.d,$(notdir $(THUMBSRC))) \
 	$(patsubst %.c,$(OBJDIR)/%.d,$(notdir $(ARMSRC))) \
diff --git a/common/Makefile.hal b/common/Makefile.hal
index e42793482..58eddb86e 100644
--- a/common/Makefile.hal
+++ b/common/Makefile.hal
@@ -40,56 +40,56 @@ endef
 PLTNAME = Unknown Platform
 
 ifeq ($(PLATFORM),PM3RDV4)
-  MCU = AT91SAM7S512
-  PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH
-  PLTNAME = Proxmark3 rdv4
+    MCU = AT91SAM7S512
+    PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH
+    PLTNAME = Proxmark3 rdv4
 else ifeq ($(PLATFORM),PM3EVO)
-  MCU = AT91SAM7S512
-  PLTNAME = Proxmark3 EVO
+    MCU = AT91SAM7S512
+    PLTNAME = Proxmark3 EVO
 else ifeq ($(PLATFORM),PM3EASY)
-  MCU = AT91SAM7S256
-  PLTNAME = Proxmark3 rdv3 Easy
+    MCU = AT91SAM7S256
+    PLTNAME = Proxmark3 rdv3 Easy
 else ifeq ($(PLATFORM),PM3RDV2)
-  MCU = AT91SAM7S512
-  PLTNAME = Proxmark3 rdv2
+    MCU = AT91SAM7S512
+    PLTNAME = Proxmark3 rdv2
 else ifeq ($(PLATFORM),PM3OLD256)
-  MCU = AT91SAM7S256
-  PLTNAME = Proxmark3 V1 with AT91SAM7S256
+    MCU = AT91SAM7S256
+    PLTNAME = Proxmark3 V1 with AT91SAM7S256
 else ifeq ($(PLATFORM),PM3OLD512)
-  MCU = AT91SAM7S512
-  PLTNAME = Proxmark3 V1 with AT91SAM7S512
+    MCU = AT91SAM7S512
+    PLTNAME = Proxmark3 V1 with AT91SAM7S512
 else
-  $(error Invalid or empty PLATFORM: $(PLATFORM). Known platforms: $(KNOWN_PLATFORMS))
+    $(error Invalid or empty PLATFORM: $(PLATFORM). Known platforms: $(KNOWN_PLATFORMS))
 endif
 
 # parsing additional PLATFORM_EXTRAS tokens
 PLATFORM_EXTRAS_TMP:=$(PLATFORM_EXTRAS)
 ifneq (,$(findstring BTADDON,$(PLATFORM_EXTRAS_TMP)))
-  PLATFORM_DEFS += -DWITH_FPC_USART_HOST
-  PLATFORM_EXTRAS_TMP := $(strip $(filter-out BTADDON,$(PLATFORM_EXTRAS_TMP)))
+    PLATFORM_DEFS += -DWITH_FPC_USART_HOST
+    PLATFORM_EXTRAS_TMP := $(strip $(filter-out BTADDON,$(PLATFORM_EXTRAS_TMP)))
 endif
 ifneq (,$(findstring FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP)))
-  PLATFORM_DEFS += -DWITH_FPC_USART_DEV
-  PLATFORM_EXTRAS_TMP := $(strip $(filter-out FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP)))
+    PLATFORM_DEFS += -DWITH_FPC_USART_DEV
+    PLATFORM_EXTRAS_TMP := $(strip $(filter-out FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP)))
 endif
 ifneq (,$(PLATFORM_EXTRAS_TMP))
-  $(error Unknown PLATFORM_EXTRAS token(s): $(PLATFORM_EXTRAS_TMP))
+    $(error Unknown PLATFORM_EXTRAS token(s): $(PLATFORM_EXTRAS_TMP))
 endif
 
 # common LF support
 PLATFORM_DEFS += \
-	-DWITH_LF \
-	-DWITH_HITAG
+    -DWITH_LF \
+    -DWITH_HITAG
 
 # common HF support
 PLATFORM_DEFS += \
-	-DWITH_ISO15693 \
-	-DWITH_LEGICRF \
-	-DWITH_ISO14443b \
-	-DWITH_ISO14443a \
-	-DWITH_ICLASS \
-	-DWITH_FELICA \
-	-DWITH_HFSNIFF
+    -DWITH_ISO15693 \
+    -DWITH_LEGICRF \
+    -DWITH_ISO14443b \
+    -DWITH_ISO14443a \
+    -DWITH_ICLASS \
+    -DWITH_FELICA \
+    -DWITH_HFSNIFF
 
 # Standalone mode
 # !! Choose only one !!
@@ -112,7 +112,7 @@ $(info $(findstring WITH_STANDALONE_*,$(PLATFORM_DEFS)))
 
 # WITH_FPC_USART_* needs WITH_FPC_USART :
 ifneq (,$(findstring WITH_FPC_USART_,$(PLATFORM_DEFS)))
-  PLATFORM_DEFS += -DWITH_FPC_USART
+    PLATFORM_DEFS += -DWITH_FPC_USART
 endif
 
 PLATFORM_DEFS_INFO = $(strip $(filter-out STANDALONE%, $(subst -DWITH_,,$(PLATFORM_DEFS))))
@@ -120,7 +120,7 @@ PLATFORM_DEFS_INFO_STANDALONE = $(strip $(subst STANDALONE_,, $(filter STANDALON
 
 # Check that only one Standalone mode has been chosen
 ifneq (,$(word 2, $(PLATFORM_DEFS_INFO_STANDALONE)))
-  $(error You must choose only one Standalone mode!: $(PLATFORM_DEFS_INFO_STANDALONE))
+    $(error You must choose only one Standalone mode!: $(PLATFORM_DEFS_INFO_STANDALONE))
 endif
 
 
diff --git a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md
index 27d315359..5eb8bc66b 100644
--- a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md
+++ b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md
@@ -1,6 +1,6 @@
 # External resources
 
-You might want to follow one of these external resources to get an overview, but please still read carefully this page as some instructions may vary.
+You might want to follow one of these external resources to get an overview, but please still read carefully this page as some instructions may have evolved.
 
 * [Kali Video Installation guide](https://youtu.be/t5eBPS6lV3E "Kali Linux Installation Tutorial")
 * [Ubuntu Video Installation guide](https://youtu.be/DThmkH8CdMo "Ubuntu Installation Tutorial")
@@ -9,11 +9,8 @@ You might want to follow one of these external resources to get an overview, but
 ![Linux Installation Video Screenshot](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS/blob/master/screenshot-www.youtube.com-2019.03.17-20-44-33.png)
 
 * ParrotOS: some further notes can be found at @5w0rdfish repo [Proxmark Installation for Parrot OS](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS)
-* Ubuntu 14.04.2 LTS, 15.10 or 16.04 GC updates on the [Proxmark3 Ubuntu wiki page](https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux)
-* A nice and cool install script made by @daveio is found here: https://github.com/daveio/attacksurface/blob/master/proxmark3/pm3-setup.sh (unavailable?)
 * Iceman has also added this script to the fork. https://github.com/RfidResearchGroup/proxmark3/blob/master/install.sh
 
-
 # Install the required dependencies
 
 ## On Debian / Ubuntu / Kali / ParrotOS
@@ -31,15 +28,22 @@ sudo apt-get install p7zip git ca-certificates build-essential libreadline5 libr
 libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib
 ```
 
+If you don't need the graphical components of the Proxmark3 client, you can skip the installation of `libqt4-dev`.
+
+If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ you may have to install `libcanberra-gtk-module`.
+
 ## On ArchLinux
 
 ```sh
-sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-newlib --needed
+sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-gcc arm-none-eabi-newlib git --needed
 ```
+Additional AUR packages:
 ```sh
 yaourt -S termcap
 ```
 
+Note that with only these requirements, you will not get the graphical components of the Proxmark3 client. (Untested: how to get it? `yaourt -S qt4` ?)
+
 # Clone the RRG/Iceman repository
 
 ```sh
diff --git a/doc/md/Installation_Instructions/Windows-Installation-Instructions.md b/doc/md/Installation_Instructions/Windows-Installation-Instructions.md
index b140bc168..ac88906da 100644
--- a/doc/md/Installation_Instructions/Windows-Installation-Instructions.md
+++ b/doc/md/Installation_Instructions/Windows-Installation-Instructions.md
@@ -2,12 +2,6 @@
 You will need to use the Gator96100 Proxspace package to assist in your windows installation.
 This can be downloaded from https://github.com/Gator96100/ProxSpace/
 
-## Notes
-If you receive gcc errors using v3.1 during build, download and use v2.2. This may help resolve the issue.
-
-- https://github.com/Gator96100/ProxSpace/releases/tag/v3.1   (release v3.1 with gcc v7.3.0 )
-- https://github.com/Gator96100/ProxSpace/releases/tag/v2.2   (release v2.2 with gcc v5.3.0 arm-none-eabi-gcc v7.1.0)
-
 ---
 # Video Installation guide
 [![Windows Installation tutorial](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS/blob/master/screenshot-www.youtube.com-2019.03.17-20-44-33.png)](https://youtu.be/zzF0NCMJnYU "Windows Installation Tutorial")