diff --git a/test/suite/sputnik/Conformance/08_Types/8.5_The_Number_Type/S8.5_A9.js b/test/suite/sputnik/Conformance/08_Types/8.5_The_Number_Type/S8.5_A9.js
index 6340939edb345edeef49190a22bdc5d6619fbc14..da222ab3f239f527878fc56b2f1850da48b3cb15 100644
--- a/test/suite/sputnik/Conformance/08_Types/8.5_The_Number_Type/S8.5_A9.js
+++ b/test/suite/sputnik/Conformance/08_Types/8.5_The_Number_Type/S8.5_A9.js
@@ -6,7 +6,7 @@
  * @section: 8.5, 7.8.3;
  * @assertion: Globally defined variable NaN has not been altered by program execution;
  * @description: Try alter globally defined variable NaN;
- * @strict_mode_negative
+ * @noStrict
 */
 
 Number.NaN = 1;
diff --git a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A1.js b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A1.js
index 0d95b377fa0ab0cecf077f211ba933e6b8984c15..7d3210386179b7faa64d0caa89e008d961249317 100644
--- a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A1.js
+++ b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A1.js
@@ -6,7 +6,7 @@
  * @section: 8.6.1, 15.2.2, 15.8;
  * @assertion: A property can have attribute ReadOnly like E in Math;
  * @description: Try change Math.E property; 
- * @strict_mode_negative
+ * @noStrict
 */
 
 var __e = Math.E;
diff --git a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A3.js b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A3.js
index 1a72349635d75d41ce1cb7251e5af8b2fcfa8f51..4c343e41b3a417b04daf4fc6df067a961da7e296 100644
--- a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A3.js
+++ b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A3.js
@@ -6,7 +6,7 @@
  * @section: 8.6.1, 15.7;
  * @assertion: A property can have attribute DontDelete like NaN propertie of Number object;
  * @description: Try to delete Number.NaN;  
- * @strict_mode_negative
+ * @noStrict
 */
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.3_A1.js b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.3_A1.js
index 5f18c0dd2fdde88136aaa6dc08fb9ed91ddefc28..de4e6eaa82220437e459af81d508dc595ec08cec 100644
--- a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.3_A1.js
+++ b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.3_A1.js
@@ -6,7 +6,7 @@
  * @section: 8.6.2.3, 8.6.2.2, 8.6.1;
  * @assertion: If the property has the ReadOnly attribute, [[CanPut]](P) return false;
  * @description: Try put other value for Math.E property; 
- * @strict_mode_negative
+ * @noStrict
 */
 
 var __e = Math.E;
diff --git a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A1.js b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A1.js
index b9644f1190b122e6c576d3c92de85a9824dbae9b..d9487563ccd0625d7419ed92a905024a72771a89 100644
--- a/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A1.js
+++ b/test/suite/sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A1.js
@@ -7,7 +7,7 @@
 * @assertion: When the [[Delete]] method of O is called with property name P, 
 * and If the property has the DontDelete attribute, return false;
 * @description: Try to delete Math.E, that has the DontDelete attribute;  
-* @strict_mode_negative
+* @noStrict
 */
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/test/suite/sputnik/Conformance/08_Types/8.7_The_Reference_Type/S8.7_A5_T1.js b/test/suite/sputnik/Conformance/08_Types/8.7_The_Reference_Type/S8.7_A5_T1.js
index 3c86e3e2ad679fd6ba6b28b75bb383f350eb9eba..92b5b60d0b5e42b00b9eebef9581d15d4bbeb7f3 100644
--- a/test/suite/sputnik/Conformance/08_Types/8.7_The_Reference_Type/S8.7_A5_T1.js
+++ b/test/suite/sputnik/Conformance/08_Types/8.7_The_Reference_Type/S8.7_A5_T1.js
@@ -6,7 +6,7 @@
 * @section: 8.7;
 * @assertion: Delete unary operator can't delete object to be referenced;
 * @description: Delete referenced object, var __ref = obj;
-* @strict_mode_negative
+* @noStrict
 */
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.4.2.1_A1.js b/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.4.2.1_A1.js
index 3ffb2571763c28eee5d41503d5da65ff551bfa71..526bcffdf7bd20321dd4d453b74f04decaa62d72 100644
--- a/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.4.2.1_A1.js
+++ b/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.4.2.1_A1.js
@@ -6,6 +6,7 @@
  * declarations into the global scope
  * @onlyStrict
  */
+"use strict";
 if (!('foo' in this)) {
   (1,eval)('"use strict"; var foo = 88;');
   if ('foo' in this) {
diff --git a/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.3_Entering_Function_Code/S10.4.3_A1.js b/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.3_Entering_Function_Code/S10.4.3_A1.js
index 70937dec7fc95b5565956be714ba83f239b49d21..05f8924a421e9f1df8d936d18cc95d7585ab3609 100644
--- a/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.3_Entering_Function_Code/S10.4.3_A1.js
+++ b/test/suite/sputnik/Conformance/10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.3_Entering_Function_Code/S10.4.3_A1.js
@@ -5,8 +5,8 @@
  * @description When calling a strict anonymous function as a
  * function, "this" should be bound to undefined.
  * @onlyStrict
- */
-
+ */
+"use strict";
 var that = (function() { return this; })();
 if (that !== undefined) {
   $ERROR('#1: "this" leaked as: ' + that);
diff --git a/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js b/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js
index 3627a961aeb51f571060ea58a271f93a19d655c1..0685fcc8718401a00449841dd9dc7ecb678ba83b 100644
--- a/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js
+++ b/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js
@@ -10,7 +10,7 @@
  * non-standard property.
  * @onlyStrict
  */
-
+"use strict";
 var deleted = 'unassigned';
 try {
   deleted = delete RegExp.leftContext;
diff --git a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2.3_A1.js b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2.3_A1.js
index 5f9d14204c68100ce0ba59e2e75680649bf26d3f..8890bb65cf17cc2e547f62a4d1ca7c242ae864d5 100644
--- a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2.3_A1.js
+++ b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2.3_A1.js
@@ -6,6 +6,7 @@
  * function object.
  * @onlyStrict
  */
+"use strict";
 var poison = Object.getOwnPropertyDescriptor(function() {}, 'caller').get;
 
 if (typeof poison !== 'function') {
diff --git a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T1.js b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T1.js
index 86b24fe982cb6d6cb99da862586b400006dd3316..e81a845da05dc840cf68354460febb3324d995fa 100644
--- a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T1.js
+++ b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T1.js
@@ -6,4 +6,5 @@
  * getOwnPropertyDescriptor too
  * @onlyStrict
  */
+"use strict";
 Object.getOwnPropertyDescriptor(function(){}, 'caller');
diff --git a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T2.js b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T2.js
index 158f34ac19b4e874ce3b102684eadaccded02721..6987d60c54aefc969b4bd92f1adf0cac533b9252 100644
--- a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T2.js
+++ b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T2.js
@@ -6,4 +6,5 @@
  * getOwnPropertyDescriptor too
  * @onlyStrict
  */
+"use strict";
 Object.getOwnPropertyDescriptor(function(){}, 'arguments');
diff --git a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T1.js b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T1.js
index eceb3fa74b3aeadfcbe2ab365e7a1f099384949f..309b579c5ada253d0ab804bdd9c73cb79171425b 100644
--- a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T1.js
+++ b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T1.js
@@ -6,5 +6,6 @@
  * hasOwnProperty too
  * @onlyStrict
  */
+"use strict";
 (function(){}).hasOwnProperty('caller');
 
diff --git a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T2.js b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T2.js
index 67bedb2a151f740617dd5d09b15d367c051bcc0b..f528592d3b77da7380a4f0f4d42e4f3a665fe257 100644
--- a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T2.js
+++ b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T2.js
@@ -6,5 +6,6 @@
  * hasOwnProperty too
  * @onlyStrict
  */
+"use strict";
 (function(){}).hasOwnProperty('arguments');
 
diff --git a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T1.js b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T1.js
index 49b4d4b47ab0bc0c900b01c83d00a3e7cb05d204..0c1dfd50476c603359013d93c38521cc2e372c0c 100644
--- a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T1.js
+++ b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T1.js
@@ -6,5 +6,6 @@
  * "in" too
  * @onlyStrict
  */
+"use strict";
 'caller' in function() {};
 
diff --git a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T2.js b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T2.js
index 007096a78223d578827560333d8061468d6b089a..8fa9ae3da6ddf021d0fe73f2fee34eac328f39f6 100644
--- a/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T2.js
+++ b/test/suite/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T2.js
@@ -6,5 +6,6 @@
  * "in" too
  * @onlyStrict
  */
+"use strict";
 'arguments' in function() {};
 
diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.4_Object.getOwnPropertyNames/S15.2.3.4_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.4_Object.getOwnPropertyNames/S15.2.3.4_A1_T1.js
index c12649f5a8c314fdf4443cb7f59b9e7fd2f20dfd..6127627cabd23ccfd583977f09aec1a0a550b2ec 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.4_Object.getOwnPropertyNames/S15.2.3.4_A1_T1.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.4_Object.getOwnPropertyNames/S15.2.3.4_A1_T1.js
@@ -9,8 +9,8 @@
  * Object.getOwnPropertyNames on a strict function are names that
  * hasOwnProperty agrees are own properties.
  * @onlyStrict
- */
-
+ */
+"use strict";
 function foo() {}
 
 var names = Object.getOwnPropertyNames(foo);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A3.js b/test/suite/sputnik/Conformance/15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A3.js
index 073d3c09e73b0c479e49c23a8d9d378c2a981319..d106a82d138f757d230f100959dc909346b28b3e 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A3.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A3.js
@@ -6,7 +6,7 @@
  * @section: 15.8.1.1;
  * @assertion: Value Property E of the Math Object has the attribute DontDelete;
  * @description: Checking if Math.E property has the attribute DontDelete;
- * @strict_mode_negative
+ * @noStrict
  */
 
 // CHECK#1
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A1_T1.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A1_T1.js
index 1ce8f7d5fc53d056ea77fa5d744af7d15c29de73..be589ead308a72742ae4137bff8af4fba974dfbf 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A1_T1.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A1_T1.js
@@ -10,8 +10,8 @@
  * @onlyStrict
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
- */
-
+ */
+"use strict";
 {
     function __func(){}
 }
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T1.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T1.js
index 7a949dfb51d1374088387fafceb4febb78b73276..5148af596605aaf3d3418e23b8702f4f37f511f6 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T1.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T1.js
@@ -10,8 +10,8 @@
  * @onlyStrict
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
- */
-
+ */
+"use strict";
 if (true) {
     function __func(){};
 } else {
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T2.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T2.js
index e7ee11ed2081b868351a2f8ff1bebbfacf9dd10e..e0b67a844acf6c7156390c0a2f80bcfe59100f03 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T2.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A2_T2.js
@@ -10,8 +10,8 @@
  * @onlyStrict
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
- */
-
+ */
+"use strict";
 (function(){
    if (true) {
      function __func(){};
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T1.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T1.js
index 2708cfdae84309b8d4e74c59af45bca4fc0e5edd..980cf839563387523d78ab68873b62b89c63d8f7 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T1.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T1.js
@@ -10,8 +10,8 @@
  * @onlyStrict
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
-*/
-
+*/
+"use strict";
 do {
     function __func(){};
 } while(0);
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T2.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T2.js
index 40d1cbfab4c4efd6cfa4210a663b00e5eb734d7a..8d5f11ea26127cfe023064a05ae186b85cacf7d1 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T2.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A3_T2.js
@@ -10,8 +10,8 @@
  * @onlyStrict
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
- */
-
+ */
+"use strict";
 (function(){
    do {
      function __func(){};
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T1.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T1.js
index 930aa6dfc78b33e1a96641b67fe98f1337a1ad3b..74949f143b960ce6ca2de426e94edc1c4c0024d9 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T1.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T1.js
@@ -11,7 +11,7 @@
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
  */
-
+"use strict";
 while (0) {
     function __func(){};
 };
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T2.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T2.js
index d32d956f54d010b03cf5681b0a47a683f0ee49b5..a0725856544c4d48673568de832e2454e40d99da 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T2.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A4_T2.js
@@ -11,7 +11,7 @@
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
 */
-
+"use strict";
 (function(){
    while (0) {
      function __func(){};
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T1.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T1.js
index 268f460b77fb32e5f8ef555a95e0a51f0322d469..3aeced360d998b51bbab7d9a1a9582d9ab6a24db 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T1.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T1.js
@@ -10,7 +10,7 @@
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
  */
-
+"use strict";
 for (x in this) {
     function __func(){};
 }
diff --git a/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T2.js b/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T2.js
index 56e6ec976591f6169cd0fb866107f7750cdb285f..71051ef6014ce38275be7569aad645fce191074c 100644
--- a/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T2.js
+++ b/test/suite/sputnik/Conformance/bestPractice/Sbp_A5_T2.js
@@ -11,7 +11,7 @@
  * @bestPractice
  * http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls
  */
-
+"use strict";
 (function(){
    for (x in this) {
      function __func(){};