diff --git a/scripts/add_copyright.py b/scripts/add_copyright.py
index 6142298..4a86497 100755
--- a/scripts/add_copyright.py
+++ b/scripts/add_copyright.py
@@ -3,13 +3,13 @@
 import glob
 import os.path
 
-eula_copyright = open("scripts/copyright_eula.txt",'r').read()
+mit_copyright = open("scripts/copyright_mit.txt",'r').read()
 
 def add_cpp_copyright( f, content):
-    global eula_copyright
+    global mit_copyright
     out = open(f,'w')
     out.write("/*\n")
-    for line in eula_copyright.split('\n')[:-1]:
+    for line in mit_copyright.split('\n')[:-1]:
         out.write(" *");
         if line.strip() != "":
             out.write(" %s" %line)
@@ -20,9 +20,9 @@
     out.close()
 
 def add_python_copyright( f, content):
-    global eula_copyright
+    global mit_copyright
     out = open(f,'w')
-    for line in eula_copyright.split('\n')[:-1]:
+    for line in mit_copyright.split('\n')[:-1]:
         out.write("#");
         if line.strip() != "":
             out.write(" %s" %line)
@@ -57,7 +57,7 @@
             out += line + "\n"
     return out
 
-for top in ['./arm_compute', './tests','./src','./examples','./utils/']:
+for top in ['./arm_compute', './tests','./src','./examples','./utils/','./framework','./support']:
     for root, _, files in os.walk(top):
         for f in files:
             path = os.path.join(root, f)
diff --git a/scripts/check_bad_style.sh b/scripts/check_bad_style.sh
index 29d14bd..6a88b67 100755
--- a/scripts/check_bad_style.sh
+++ b/scripts/check_bad_style.sh
@@ -2,7 +2,7 @@
 
 set -e
 
-DIRECTORIES="./arm_compute ./src ./examples ./tests ./utils"
+DIRECTORIES="./arm_compute ./src ./examples ./tests ./utils ./framework ./support"
 
 grep -HrnP "/\*\*$" $DIRECTORIES | tee bad_style.log
 if (( `cat bad_style.log | wc -l` > 0 ))
diff --git a/scripts/clang-tidy.sh b/scripts/clang-tidy.sh
index 053e578..3732e2a 100755
--- a/scripts/clang-tidy.sh
+++ b/scripts/clang-tidy.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-DIRECTORIES="./arm_compute ./src ./examples ./tests ./utils"
+DIRECTORIES="./arm_compute ./src ./examples ./tests ./utils ./framework ./support"
 
 if [ $# -eq 0 ]
 then
@@ -45,6 +45,8 @@
 ARMV7_GCC_PATH=$(dirname $ARMV7_GCC)/..
 AARCH64_GCC_PATH=$(dirname $AARCH64_GCC)/..
 
+INCLUDE_PATHS="-Iinclude -I. -I3rdparty/include -Ikernels -Itests -Icomputer_vision -Iframework"
+
 function armv7
 {
     USE_BOOST=""
@@ -60,7 +62,7 @@
     -target armv7a-none-linux-gnueabihf \
     --gcc-toolchain=$ARMV7_GCC_PATH \
     -std=c++11 \
-    -Iinclude -I. -I3rdparty/include -Ikernels -Itests -Icomputer_vision \
+    $INCLUDE_PATHS \
     -DARM_COMPUTE_CPP_SCHEDULER=1 $USE_BOOST
     #read -rsp $'Press enter to continue...\n'
 }
@@ -81,7 +83,7 @@
     --gcc-toolchain=$AARCH64_GCC_PATH \
     -std=c++11 \
     -include $SCRIPT_PATH/clang-tidy.h \
-    -Iinclude -I. -I3rdparty/include -Ikernels -Itests -Icomputer_vision \
+    $INCLUDE_PATHS \
     -DARM_COMPUTE_ENABLE_FP16 -DARM_COMPUTE_CPP_SCHEDULER=1 $USE_BOOST
 }
 
diff --git a/scripts/copyright_mit.txt b/scripts/copyright_mit.txt
index 0beacf8..18e83ec 100644
--- a/scripts/copyright_mit.txt
+++ b/scripts/copyright_mit.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2016, 2017 ARM Limited.
+Copyright (c) 2017 ARM Limited.
 
 SPDX-License-Identifier: MIT
 
diff --git a/scripts/fix_code_formatting.sh b/scripts/fix_code_formatting.sh
index 2ab3c1d..5ceeb06 100755
--- a/scripts/fix_code_formatting.sh
+++ b/scripts/fix_code_formatting.sh
@@ -17,7 +17,7 @@
 	--indent-preprocessor \
 	"
 
-DIRECTORIES="./arm_compute ./src ./examples ./tests ./utils"
+DIRECTORIES="./arm_compute ./src ./examples ./tests ./utils ./framework ./support"
 
 if [ $# -eq 0 ]
 then
diff --git a/scripts/format_doxygen.py b/scripts/format_doxygen.py
index 96adf52..64fe7ec 100755
--- a/scripts/format_doxygen.py
+++ b/scripts/format_doxygen.py
@@ -74,7 +74,7 @@
     if len(sys.argv) == 1:
         paths = []
 
-        for top_level in ["./arm_compute", "./src", "./examples", "./tests", "./utils"]:
+        for top_level in ["./arm_compute", "./src", "./examples", "./tests", "./utils", "./framework", "./support"]:
             for root, _, files in os.walk(top_level):
                 paths.extend([os.path.join(root, f) for f in files])
     else:
