diff --git a/sbs b/sbs
index 047bc8993f7e93b2133c9d68ec6c574006b237bd..1326540fb93c097983a6f901921f6874e4fdcdfb 100755
--- a/sbs
+++ b/sbs
@@ -21,7 +21,7 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 # THE SOFTWARE.
 
-source "$(cd -- "$(dirname "$0")" > /dev/null 2>&1 && pwd -P)/scripts/sbs_implementation"
+source "$(cd -- "$(dirname "$0")" >/dev/null 2>&1 && pwd -P)/scripts/sbs_implementation"
 
 print_banner
 init_dirs
@@ -29,40 +29,73 @@ init_dirs
 for arg in "$@"; do
     shift
     case "$arg" in
-        --boards)     set -- "$@" "-r";;
-        --build)      set -- "$@" "-b";;
-        --clang-tidy) set_clangtidy;;
-        --clean)      set -- "$@" "-c";;
-        --configure)  set -- "$@" "-u";;
-        --debug)      set -- "$@" "-d";;
-        --edit)       set -- "$@" "-e";;
-        --flash)      set -- "$@" "-f";;
-        --help)       set -- "$@" "-h";;
-        --jobs)       set -- "$@" "-j";;
-        --lint)       set -- "$@" "-n";;
-        --list)       set -- "$@" "-l";;
-        --test)       set -- "$@" "-t";;
-        --verbose)    set -- "$@" "-v";;
-        *)            set -- "$@" "$arg"
+    --boards) set -- "$@" "-r" ;;
+    --build) set -- "$@" "-b" ;;
+    --clang-tidy) set_clangtidy ;;
+    --clean) set -- "$@" "-c" ;;
+    --configure) set -- "$@" "-u" ;;
+    --debug) set -- "$@" "-d" ;;
+    --edit) set -- "$@" "-e" ;;
+    --flash) set -- "$@" "-f" ;;
+    --help) set -- "$@" "-h" ;;
+    --jobs) set -- "$@" "-j" ;;
+    --lint) set -- "$@" "-n" ;;
+    --list) set -- "$@" "-l" ;;
+    --test) set -- "$@" "-t" ;;
+    --verbose) set -- "$@" "-v" ;;
+    *) set -- "$@" "$arg" ;;
     esac
 done
 
 while getopts b:cdef:hj:lnrt:uv opt; do
     case "$opt" in
-        b) find_deps && build "$build_default_dir" "$OPTARG"; exit;;
-        c) find_deps && clean_all; exit;;
-        d) set_debug;;
-        e) find_deps && lint true; exit;;
-        f) find_deps && flash "$OPTARG"; exit;;
-        h) usage; exit 0;;
-        j) set_jobs "$OPTARG";;
-        l) find_deps && list; exit;;
-        n) find_deps && lint false; exit;;
-        r) find_deps && boards; exit;;
-        t) find_deps && run_tests "$OPTARG"; exit;;
-        u) find_deps && configure "$build_default_dir"; exit;;
-        v) set_verbose;;
-        ?) usage; exit 2;;
+    b)
+        find_deps && build "$build_default_dir" "$OPTARG"
+        exit
+        ;;
+    c)
+        find_deps && clean_all
+        exit
+        ;;
+    d) set_debug ;;
+    e)
+        find_deps && lint true
+        exit
+        ;;
+    f)
+        find_deps && flash "$OPTARG"
+        exit
+        ;;
+    h)
+        usage
+        exit 0
+        ;;
+    j) set_jobs "$OPTARG" ;;
+    l)
+        find_deps && list
+        exit
+        ;;
+    n)
+        find_deps && lint false
+        exit
+        ;;
+    r)
+        find_deps && boards
+        exit
+        ;;
+    t)
+        find_deps && run_tests "$OPTARG"
+        exit
+        ;;
+    u)
+        find_deps && configure "$build_default_dir"
+        exit
+        ;;
+    v) set_verbose ;;
+    ?)
+        usage
+        exit 2
+        ;;
     esac
 done
 shift $((OPTIND - 1))
diff --git a/scripts/sbs_implementation b/scripts/sbs_implementation
index 39be1edecf1dfc743d988d7d2aa06eebe3d5034a..f0e6a3b87315ed70ecfdb7e78b7a752940fba324 100755
--- a/scripts/sbs_implementation
+++ b/scripts/sbs_implementation
@@ -43,7 +43,7 @@ ohai() {
 }
 
 init_dirs() {
-    sbs_base="$(cd -- "$(dirname "$0")" > /dev/null 2>&1 && pwd -P)"
+    sbs_base="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 && pwd -P)"
     source_dir="$PWD"
     build_default_dir="$source_dir/$BUILD_DEFAULT_DIRNAME"
     build_host_dir="$source_dir/$BUILD_HOST_DIRNAME"
@@ -52,82 +52,100 @@ init_dirs() {
 
 find_deps() {
     ohai "Find dependencies"
-    
-    command -v cmake               > /dev/null 2>&1 && found_cmake=true
-    command -v arm-miosix-eabi-g++ > /dev/null 2>&1 && found_miosixgpp=true
-    command -v ccache              > /dev/null 2>&1 && found_ccache=true
-    command -v ninja               > /dev/null 2>&1 && found_ninja=true
-    command -v python              > /dev/null 2>&1 && found_python=true
-    command -v cppcheck            > /dev/null 2>&1 && found_cppcheck=true
-    command -v clang-tidy          > /dev/null 2>&1 && found_clangtidy=true
-    command -v clang-format        > /dev/null 2>&1 && found_clangformat=true
-    command -v st-flash            > /dev/null 2>&1 && found_stflash=true
-    command -v ST-LINK_CLI.exe     > /dev/null 2>&1 && found_stlink=true
-    
-    printf "Found CMake: ";               [ "$found_cmake" = true ]       && echo "yes" || echo "no"
-    printf "Found arm-miosix-eabi-g++: "; [ "$found_miosixgpp" = true ]   && echo "yes" || echo "no"
-    printf "Found Ccache: ";              [ "$found_ccache" = true ]      && echo "yes" || echo "no"
-    printf "Found Ninja: ";               [ "$found_ninja" = true ]       && echo "yes" || echo "no"
-    printf "Found Python: ";              [ "$found_python" = true ]      && echo "yes" || echo "no"
-    printf "Found Cppcheck: ";            [ "$found_cppcheck" = true ]    && echo "yes" || echo "no"
-    printf "Found clang-tidy: ";          [ "$found_clangtidy" = true ]   && echo "yes" || echo "no"
-    printf "Found clang-format: ";        [ "$found_clangformat" = true ] && echo "yes" || echo "no"
-    printf "Found flasher: ";             [ "$found_stflash" = true ]     && echo "st-flash" \
-    || { [ "$found_stlink" = true ] && echo "st-link" || echo "no"; }
-    
-    [ "$found_cmake" = true ]     || { echo "Error: CMake must be installed"; return 1; }
-    [ "$found_miosixgpp" = true ] || { echo "Error: arm-miosix-eabi-g++ must be installed"; return 1; }
+
+    command -v cmake >/dev/null 2>&1 && found_cmake=true
+    command -v arm-miosix-eabi-g++ >/dev/null 2>&1 && found_miosixgpp=true
+    command -v ccache >/dev/null 2>&1 && found_ccache=true
+    command -v ninja >/dev/null 2>&1 && found_ninja=true
+    command -v python >/dev/null 2>&1 && found_python=true
+    command -v cppcheck >/dev/null 2>&1 && found_cppcheck=true
+    command -v clang-tidy >/dev/null 2>&1 && found_clangtidy=true
+    command -v clang-format >/dev/null 2>&1 && found_clangformat=true
+    command -v st-flash >/dev/null 2>&1 && found_stflash=true
+    command -v ST-LINK_CLI.exe >/dev/null 2>&1 && found_stlink=true
+
+    printf "Found CMake: "
+    [ "$found_cmake" = true ] && echo "yes" || echo "no"
+    printf "Found arm-miosix-eabi-g++: "
+    [ "$found_miosixgpp" = true ] && echo "yes" || echo "no"
+    printf "Found Ccache: "
+    [ "$found_ccache" = true ] && echo "yes" || echo "no"
+    printf "Found Ninja: "
+    [ "$found_ninja" = true ] && echo "yes" || echo "no"
+    printf "Found Python: "
+    [ "$found_python" = true ] && echo "yes" || echo "no"
+    printf "Found Cppcheck: "
+    [ "$found_cppcheck" = true ] && echo "yes" || echo "no"
+    printf "Found clang-tidy: "
+    [ "$found_clangtidy" = true ] && echo "yes" || echo "no"
+    printf "Found clang-format: "
+    [ "$found_clangformat" = true ] && echo "yes" || echo "no"
+    printf "Found flasher: "
+    [ "$found_stflash" = true ] && echo "st-flash" ||
+        { [ "$found_stlink" = true ] && echo "st-link" || echo "no"; }
+
+    [ "$found_cmake" = true ] || {
+        echo "Error: CMake must be installed"
+        return 1
+    }
+    [ "$found_miosixgpp" = true ] || {
+        echo "Error: arm-miosix-eabi-g++ must be installed"
+        return 1
+    }
 }
 
 # Workaround: Disable tests in excluded subdirectories
 # See: https://gitlab.kitware.com/cmake/cmake/-/issues/20212
 cmake_disable_excluded_tests() {
     declare build_dir="$1"
-    
+
     [ ! -f "$build_dir/$CTEST_FILENAME" ] || sed -i.bak 's/^subdirs/# subdirs/' "$build_dir/$CTEST_FILENAME"
 }
 
 configure() {
     declare build_dir="$1"
-    
+
     ohai "Configure"
-    
-    [ -f "$toolchain_file" ] || { echo "Error: CMake Toolchain File for Miosix was not found"; return 1; }
-    
+
+    if ! [[ -f "$toolchain_file" ]]; then
+        echo "Error: CMake Toolchain File for Miosix was not found"
+        return 1
+    fi
+
     declare -a defs=(-DCMAKE_EXPORT_COMPILE_COMMANDS=ON)
     defs+=(-DCMAKE_C_FLAGS=-fdiagnostics-color=always -DCMAKE_CXX_FLAGS=-fdiagnostics-color=always)
-    [ "$config_host" = false ]   && defs+=(-DCMAKE_TOOLCHAIN_FILE="$toolchain_file" -DBUILD_TESTING=OFF)
-    [ "$found_ccache" = true ]   && defs+=(-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache)
-    [ "$config_debug" = true ]   && defs+=(-DCMAKE_BUILD_TYPE=Debug) || defs+=(-DCMAKE_BUILD_TYPE=Release)
+    [ "$config_host" = false ] && defs+=(-DCMAKE_TOOLCHAIN_FILE="$toolchain_file" -DBUILD_TESTING=OFF)
+    [ "$found_ccache" = true ] && defs+=(-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache)
+    [ "$config_debug" = true ] && defs+=(-DCMAKE_BUILD_TYPE=Debug) || defs+=(-DCMAKE_BUILD_TYPE=Release)
     [ "$config_verbose" = true ] && defs+=(-DCMAKE_VERBOSE_MAKEFILE=ON)
-    
+
     declare gen
     [ "$found_ninja" = true ] && gen=-GNinja || gen=-G"Unix Makefiles"
-    
+
     cmake -B"$build_dir" "${defs[@]}" "$gen" "$source_dir" || return
-    
-    { [ "$config_debug" = true ]   && touch "$build_dir/$DEBUG_FILENAME";   } || rm -f "$build_dir/$DEBUG_FILENAME"
+
+    { [ "$config_debug" = true ] && touch "$build_dir/$DEBUG_FILENAME"; } || rm -f "$build_dir/$DEBUG_FILENAME"
     { [ "$config_verbose" = true ] && touch "$build_dir/$VERBOSE_FILENAME"; } || rm -f "$build_dir/$VERBOSE_FILENAME"
 }
 
 check_configured() {
     declare build_dir="$1"
-    
+
     declare to_reconfigure=false
     if [ ! -d "$build_dir" ]; then
         to_reconfigure=true
-        elif [ ! -f "$build_dir/$CMAKE_FILENAME" ]; then
+    elif [ ! -f "$build_dir/$CMAKE_FILENAME" ]; then
         rm -rf "$build_dir"
         to_reconfigure=true
     else
-        [ -f "$build_dir/$DEBUG_FILENAME" ]   && found_debug=true   || found_debug=false
+        [ -f "$build_dir/$DEBUG_FILENAME" ] && found_debug=true || found_debug=false
         [ -f "$build_dir/$VERBOSE_FILENAME" ] && found_verbose=true || found_verbose=false
-        if [ "$config_debug" != "$found_debug" ] \
-        || [ "$config_verbose" != "$found_verbose" ]; then
+        if [ "$config_debug" != "$found_debug" ] ||
+            [ "$config_verbose" != "$found_verbose" ]; then
             to_reconfigure=true
         fi
     fi
-    
+
     if [ "$to_reconfigure" = true ]; then
         configure "$build_dir"
     fi
@@ -136,36 +154,36 @@ check_configured() {
 build() {
     declare build_dir="$1"
     declare target="$2"
-    
+
     check_configured "$build_dir" || return
-    
+
     ohai "Build"
-    
+
     declare -a opts
     get_build_opts opts
-    
+
     cmake --build "$build_dir" "${opts[@]}" --target "$target"
 }
 
 build_all() {
     declare build_dir="$build_default_dir"
-    
+
     build "$build_dir" all
 }
 
 clean() {
     declare build_desc="$1"
     declare build_dir="$2"
-    
+
     ohai "Clean ($build_desc)"
-    
+
     if [ -f "$build_dir/$CMAKE_FILENAME" ]; then
         declare -a opts
         get_build_opts opts
-        
+
         cmake --build "$build_dir" "${opts[@]}" --target clean
     fi
-    
+
     echo "Removing build folder..."
     rm -rf "$build_dir"
 }
@@ -178,16 +196,19 @@ clean_all() {
 flash() {
     declare target="$1"
     declare build_dir="$build_default_dir"
-    
+
     build "$build_dir" "$target" || return
-    
+
     ohai "Flash"
-    
-    [ -f "$build_dir/$target.bin" ] || { echo "Error: target '$target' is not flashable"; return 1; }
-    
+
+    if [ -f "$build_dir/$target.bin" ]; then
+        echo "Error: target '$target' is not flashable"
+        return 1
+    fi
+
     if [ "$found_stflash" = true ]; then
         st-flash --reset write "$build_dir/$target.bin" 0x8000000
-        elif [ "$found_stlink" = true ]; then
+    elif [ "$found_stlink" = true ]; then
         ST-LINK_CLI.exe -P "$build_dir/$target.bin" 0x8000000 -V -Rst
     else
         echo "Error: No flashing software found!"
@@ -198,119 +219,122 @@ flash() {
 run_tests() {
     declare target="$1"
     declare build_dir="$build_host_dir"
-    
+
     config_host=true
-    
+
     build "$build_dir" "$target" || return
-    
+
     ohai "Test"
-    
+
     cmake_disable_excluded_tests "$build_dir"
-    ( cd "$build_dir" || return; ctest )
+    (
+        cd "$build_dir" || return
+        ctest
+    )
 }
 
 list() {
     declare build_dir="$build_default_dir"
 
     check_configured "$build_dir" || return
-    
-    if [ "$1" != "--only-list" ] ; then
+
+    if [ "$1" != "--only-list" ]; then
         ohai "List targets"
         echo "[1/1] All SBS targets available:"
     fi
 
-    cmake --build "$build_dir" --target help \
-    | grep -o '^[^/]*\.bin' | cut -f 1 -d '.'
+    cmake --build "$build_dir" --target help |
+        grep -o '^[^/]*\.bin' | cut -f 1 -d '.'
 }
 
 boards() {
     declare build_dir="$build_default_dir"
-    
+
     check_configured "$build_dir" || return
-    
+
     ohai "List boards"
-    
+
     declare -a opts
     get_build_opts opts
-    
+
     cmake --build "$build_dir" "${opts[@]}" --target help-boards
 }
 
 lint_copyright() {
     ohai "Lint (Copyright)"
-    
+
     "$sbs_base/scripts/linter.py" --copyright "$source_dir/src"
 }
 
 lint_find() {
     ohai "Lint (Find)"
-    
+
     "$sbs_base/scripts/linter.py" --find "$source_dir/src"
 }
 
 lint_clangtidy() {
     declare build_dir="$1"
-    
+
     check_configured "$build_dir" || return
-    
+
     ohai "Lint (clang-tidy)"
-    
-    defs=(--extra-arg=-D_MIOSIX=1 --extra-arg=-D_MIOSIX_GCC_PATCH_MINOR=1 \
-    --extra-arg=-D_MIOSIX_GCC_PATCH_MAJOR=3 --extra-arg=-D__LINT__)
+
+    defs=(--extra-arg=-D_MIOSIX=1 --extra-arg=-D_MIOSIX_GCC_PATCH_MINOR=1
+        --extra-arg=-D_MIOSIX_GCC_PATCH_MAJOR=3 --extra-arg=-D__LINT__)
     IFS=$'\n' read -rd '' -a incs < \
-    <(arm-miosix-eabi-g++ -E -Wp,-v -xc++ /dev/null 2>&1 \
-    | sed -n "s/^ /--extra-arg=-isystem/p")
-    
+        <(arm-miosix-eabi-g++ -E -Wp,-v -xc++ /dev/null 2>&1 |
+            sed -n "s/^ /--extra-arg=-isystem/p")
+
     declare opts=()
     [ "$to_edit" = true ] && opts+=(--fix-notes --fix-errors)
-    
+
     find "$source_dir/src" \
-    -type f \( -iname "*.cpp" -o -iname "*.h" -o -iname "*.c" \) \
-    -exec clang-tidy --header-filter=".*" -p="$build_dir" "${defs[@]}" \
-    "${incs[@]}" "${opts[@]}" {} \;
+        -type f \( -iname "*.cpp" -o -iname "*.h" -o -iname "*.c" \) \
+        -exec clang-tidy --header-filter=".*" -p="$build_dir" "${defs[@]}" \
+        "${incs[@]}" "${opts[@]}" {} \;
 }
 
 lint_cppcheck() {
     ohai "Lint (Cppcheck)"
-    
+
     declare -a opts=()
     [ -n "$jobs" ] && opts+=("-j $jobs")
-    
+
     cppcheck --language=c++ --std=c++14 --enable=all --inline-suppr \
-    --suppress=unmatchedSuppression --suppress=unusedFunction \
-    --suppress=missingInclude --error-exitcode=1 -q "${opts[@]}" \
-    "$source_dir/src"
+        --suppress=unmatchedSuppression --suppress=unusedFunction \
+        --suppress=missingInclude --error-exitcode=1 -q "${opts[@]}" \
+        "$source_dir/src"
 }
 
 lint_clangformat() {
     declare to_edit="$1"
-    
+
     ohai "Lint (clang-format)"
-    
+
     declare -a opts=(--style=file --Werror)
     [ "$to_edit" = true ] && opts+=(-i) || opts+=(--dry-run)
-    
+
     find "$source_dir/src" \
-    -type f \( -iname "*.cpp" -o -iname "*.h" -o -iname "*.c" \) \
-    -exec clang-format "${opts[@]}" {} \;
+        -type f \( -iname "*.cpp" -o -iname "*.h" -o -iname "*.c" \) \
+        -exec clang-format "${opts[@]}" {} \;
 }
 
 lint() {
     declare to_edit="$1"
-    
+
     if [ "$found_python" = true ]; then
         lint_copyright
         lint_find
     fi
-    
+
     if [ "$found_clangtidy" = true ] && [ "$lint_clangtidy" = true ]; then
         lint_clangtidy "$build_default_dir"
     fi
-    
+
     if [ "$found_cppcheck" = true ]; then
         lint_cppcheck
     fi
-    
+
     if [ "$found_clangformat" = true ]; then
         lint_clangformat "$to_edit"
     fi