diff --git a/README.rst b/README.rst
index 4942758..b85124c 100644
--- a/README.rst
+++ b/README.rst
@@ -14,6 +14,72 @@
 
     cookiecutter salt-formula
 
+Procedure of Data model and Schemas validation.
+===============================
+
+run_tests.sh script is able to validate data model by schemas and test pillars.
+It supports versioned and unversioned schemas and pillars. Schemas and pillars must contains yaml format.
+
+Unversioned items must be avaible in:
+
+.. code-block:: text
+
+    {FORMULA_NAME}/{FORMULA_NAME}/schemas/
+    {FORMULA_NAME}/tests/pillar/
+
+Versioned items must be avaible in:
+
+.. code-block:: text
+
+    {FORMULA_NAME}/{FORMULA_NAME}/schemas/{version}/
+    {FORMULA_NAME}/tests/pillar/{version}/
+
+You can run run_tests.sh  by following command:
+
+.. code-block:: shell
+
+    # cd <formula repository>
+    ./tests/run_tests.sh
+
+You can run run_tests.sh which inlude schema validation if schemas present by following command:
+
+.. code-block:: shell
+
+    # cd <formula repository>
+    ./tests/run_tests.sh model-validate
+
+Example schemas:
+
+.. code-block:: yaml
+
+    %YAML 1.1
+    ---
+    "$schema": "http://json-schema.org/draft-06/schema#"
+    title: {{cookiecutter.service_name}} daemon role
+    description: |
+      {{cookiecutter.service_name|capitalize}} daemon, server role
+    type: object
+    additionalProperties: false
+
+    required:
+      - enabled
+
+    properties:
+      enabled:
+        description: |
+          Enables {{cookiecutter.service_name}} daemon service
+        type: boolean
+
+Example pillar:
+
+.. code-block:: yaml
+    {{cookiecutter.service_name}}:
+      {{cookiecutter.role_name}}:
+        enabled: true
+
+You can read more about it here:
+    http://json-schema.org/implementations.html
+    http://github.com/Julian/jsonschema
 
 Init Test Kitchen configuration
 ===============================
diff --git "a/\173\173cookiecutter.service_name\175\175/tests/run_tests.sh" "b/\173\173cookiecutter.service_name\175\175/tests/run_tests.sh"
index 461fd8b..4665d34 100755
--- "a/\173\173cookiecutter.service_name\175\175/tests/run_tests.sh"
+++ "b/\173\173cookiecutter.service_name\175\175/tests/run_tests.sh"
@@ -5,7 +5,7 @@
 # Script requirments:
 #apt-get install -y python-yaml virtualenv git
 
-__ScriptVersion="2018.11.21"
+__ScriptVersion="2019.01.07"
 __ScriptName="run_tests.sh"
 __ScriptFullName="$0"
 __ScriptArgs="$*"
@@ -77,6 +77,12 @@
         state_name=$(basename ${pillar%.sls})
         echo -e "  ${state_name}:\n    - ${state_name}" >> ${SALT_PILLAR_DIR}/top.sls
     done
+    for pillar in $(find $PILLARDIR  -mindepth 2 -type f -iname *.sls); do
+        state_name=$(basename "${pillar%*.sls}")
+        os_release=$(echo $pillar | rev | cut -d'/' -f2 | rev)
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
+        echo -e "  ${os_release}_${state_name}:\n    - ${os_release}.${state_name}" >> ${SALT_PILLAR_DIR}/top.sls
+    done
 }
 
 setup_salt() {
@@ -91,6 +97,12 @@
         state_name=$(basename ${pillar%.sls})
         echo -e "  ${state_name}:\n    - ${FORMULA_NAME}" >> ${SALT_FILE_DIR}/top.sls
     done
+    for pillar in $(find $PILLARDIR  -mindepth 2 -type f -iname *.sls); do
+        state_name=$(basename "${pillar%*.sls}")
+        os_release=$(echo $pillar | rev | cut -d'/' -f2 | rev)
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
+        echo -e "  ${os_release}_${state_name}:\n    - ${FORMULA_NAME}" >> ${SALT_FILE_DIR}/top.sls
+    done
 
     cat << EOF > ${SALT_CONFIG_DIR}/minion
 file_client: local
@@ -226,7 +238,7 @@
     fetch_dependency "salt:https://github.com/salt-formulas/salt-formula-salt"
     link_modules
     salt_run saltutil.clear_cache; salt_run saltutil.refresh_pillar; salt_run saltutil.sync_all;
-    for role in ${SCHEMARDIR}/*.yaml; do
+    for role in $(find $SCHEMARDIR/* -maxdepth 0 -type f -iname *.yaml); do
       role_name=$(basename "${role%*.yaml}")
       for pillar in $(ls pillar/${role_name}*.sls | grep -v ${IGNORE_MODELVALIDATE_MASK} ); do
         pillar_name=$(basename "${pillar%*.sls}")
@@ -237,6 +249,13 @@
         salt_run -m ${DEPSDIR}/salt-formula-salt --id=${pillar_name} modelschema.model_validate ${FORMULA_NAME} ${role_name} || { log_err "Execution of model_validate ${_message} failed"; exit 1 ; }
       done
     done
+    for schema in $(find $SCHEMARDIR -mindepth 2 -type f -iname *.yaml); do
+        role_name=$(basename "${schema%*.yaml}")
+        os_release=$(echo $schema | rev | cut -d'/' -f2 | rev)
+        local _message="FORMULA:${FORMULA_NAME} ROLE:${role_name} against PILLAR:${role_name}"
+        log_info "model_validate ${_message}"
+        salt_run -m ${DEPSDIR}/salt-formula-salt --id=${os_release}_${role_name} modelschema.model_validate ${FORMULA_NAME} ${role_name} ${os_release} || { log_err "Execution of model_validate ${_message} failed"; exit 1 ; }
+    done
   else
     log_info "${SCHEMARDIR} not found!";
   fi
