diff --git a/test/language/expressions/class/fields-asi-1.js b/test/language/expressions/class/elements/fields-asi-1.js
similarity index 100%
rename from test/language/expressions/class/fields-asi-1.js
rename to test/language/expressions/class/elements/fields-asi-1.js
diff --git a/test/language/expressions/class/fields-asi-2.js b/test/language/expressions/class/elements/fields-asi-2.js
similarity index 100%
rename from test/language/expressions/class/fields-asi-2.js
rename to test/language/expressions/class/elements/fields-asi-2.js
diff --git a/test/language/expressions/class/fields-asi-3.js b/test/language/expressions/class/elements/fields-asi-3.js
similarity index 100%
rename from test/language/expressions/class/fields-asi-3.js
rename to test/language/expressions/class/elements/fields-asi-3.js
diff --git a/test/language/expressions/class/fields-asi-4.js b/test/language/expressions/class/elements/fields-asi-4.js
similarity index 100%
rename from test/language/expressions/class/fields-asi-4.js
rename to test/language/expressions/class/elements/fields-asi-4.js
diff --git a/test/language/expressions/class/fields-asi-5.js b/test/language/expressions/class/elements/fields-asi-5.js
similarity index 100%
rename from test/language/expressions/class/fields-asi-5.js
rename to test/language/expressions/class/elements/fields-asi-5.js
diff --git a/test/language/expressions/class/fields-computed-name-static-propname-prototype.js b/test/language/expressions/class/elements/fields-computed-name-static-propname-prototype.js
similarity index 100%
rename from test/language/expressions/class/fields-computed-name-static-propname-prototype.js
rename to test/language/expressions/class/elements/fields-computed-name-static-propname-prototype.js
diff --git a/test/language/expressions/class/fields-duplicate-privatenames.js b/test/language/expressions/class/elements/fields-duplicate-privatenames.js
similarity index 100%
rename from test/language/expressions/class/fields-duplicate-privatenames.js
rename to test/language/expressions/class/elements/fields-duplicate-privatenames.js
diff --git a/test/language/expressions/class/fields-literal-name-propname-constructor.js b/test/language/expressions/class/elements/fields-literal-name-propname-constructor.js
similarity index 100%
rename from test/language/expressions/class/fields-literal-name-propname-constructor.js
rename to test/language/expressions/class/elements/fields-literal-name-propname-constructor.js
diff --git a/test/language/expressions/class/fields-literal-name-static-propname-constructor.js b/test/language/expressions/class/elements/fields-literal-name-static-propname-constructor.js
similarity index 100%
rename from test/language/expressions/class/fields-literal-name-static-propname-constructor.js
rename to test/language/expressions/class/elements/fields-literal-name-static-propname-constructor.js
diff --git a/test/language/expressions/class/fields-literal-name-static-propname-prototype.js b/test/language/expressions/class/elements/fields-literal-name-static-propname-prototype.js
similarity index 100%
rename from test/language/expressions/class/fields-literal-name-static-propname-prototype.js
rename to test/language/expressions/class/elements/fields-literal-name-static-propname-prototype.js
diff --git a/test/language/expressions/class/fields-multiple-definitions-static-private-methods-proxy.js b/test/language/expressions/class/elements/fields-multiple-definitions-static-private-methods-proxy.js
similarity index 100%
rename from test/language/expressions/class/fields-multiple-definitions-static-private-methods-proxy.js
rename to test/language/expressions/class/elements/fields-multiple-definitions-static-private-methods-proxy.js
diff --git a/test/language/expressions/class/fields-run-once-on-double-super.js b/test/language/expressions/class/elements/fields-run-once-on-double-super.js
similarity index 100%
rename from test/language/expressions/class/fields-run-once-on-double-super.js
rename to test/language/expressions/class/elements/fields-run-once-on-double-super.js
diff --git a/test/language/expressions/class/fields-string-name-propname-constructor.js b/test/language/expressions/class/elements/fields-string-name-propname-constructor.js
similarity index 100%
rename from test/language/expressions/class/fields-string-name-propname-constructor.js
rename to test/language/expressions/class/elements/fields-string-name-propname-constructor.js
diff --git a/test/language/expressions/class/fields-string-name-static-propname-constructor.js b/test/language/expressions/class/elements/fields-string-name-static-propname-constructor.js
similarity index 100%
rename from test/language/expressions/class/fields-string-name-static-propname-constructor.js
rename to test/language/expressions/class/elements/fields-string-name-static-propname-constructor.js
diff --git a/test/language/expressions/class/fields-string-name-static-propname-prototype.js b/test/language/expressions/class/elements/fields-string-name-static-propname-prototype.js
similarity index 100%
rename from test/language/expressions/class/fields-string-name-static-propname-prototype.js
rename to test/language/expressions/class/elements/fields-string-name-static-propname-prototype.js
diff --git a/test/language/expressions/class/private-fields-proxy-default-handler-throws.js b/test/language/expressions/class/elements/private-fields-proxy-default-handler-throws.js
similarity index 100%
rename from test/language/expressions/class/private-fields-proxy-default-handler-throws.js
rename to test/language/expressions/class/elements/private-fields-proxy-default-handler-throws.js
diff --git a/test/language/expressions/class/static-private-fields-proxy-default-handler-throws.js b/test/language/expressions/class/elements/static-private-fields-proxy-default-handler-throws.js
similarity index 100%
rename from test/language/expressions/class/static-private-fields-proxy-default-handler-throws.js
rename to test/language/expressions/class/elements/static-private-fields-proxy-default-handler-throws.js
diff --git a/test/language/expressions/class/static-private-methods-proxy-default-handler-throws.js b/test/language/expressions/class/elements/static-private-methods-proxy-default-handler-throws.js
similarity index 100%
rename from test/language/expressions/class/static-private-methods-proxy-default-handler-throws.js
rename to test/language/expressions/class/elements/static-private-methods-proxy-default-handler-throws.js
diff --git a/test/language/statements/class/fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/elements/fielddefinition-initializer-abrupt-completion.js
similarity index 100%
rename from test/language/statements/class/fielddefinition-initializer-abrupt-completion.js
rename to test/language/statements/class/elements/fielddefinition-initializer-abrupt-completion.js
diff --git a/test/language/statements/class/fields-asi-1.js b/test/language/statements/class/elements/fields-asi-1.js
similarity index 100%
rename from test/language/statements/class/fields-asi-1.js
rename to test/language/statements/class/elements/fields-asi-1.js
diff --git a/test/language/statements/class/fields-asi-2.js b/test/language/statements/class/elements/fields-asi-2.js
similarity index 100%
rename from test/language/statements/class/fields-asi-2.js
rename to test/language/statements/class/elements/fields-asi-2.js
diff --git a/test/language/statements/class/fields-asi-3.js b/test/language/statements/class/elements/fields-asi-3.js
similarity index 100%
rename from test/language/statements/class/fields-asi-3.js
rename to test/language/statements/class/elements/fields-asi-3.js
diff --git a/test/language/statements/class/fields-asi-4.js b/test/language/statements/class/elements/fields-asi-4.js
similarity index 100%
rename from test/language/statements/class/fields-asi-4.js
rename to test/language/statements/class/elements/fields-asi-4.js
diff --git a/test/language/statements/class/fields-asi-5.js b/test/language/statements/class/elements/fields-asi-5.js
similarity index 100%
rename from test/language/statements/class/fields-asi-5.js
rename to test/language/statements/class/elements/fields-asi-5.js
diff --git a/test/language/statements/class/fields-computed-name-propname-constructor.js b/test/language/statements/class/elements/fields-computed-name-propname-constructor.js
similarity index 100%
rename from test/language/statements/class/fields-computed-name-propname-constructor.js
rename to test/language/statements/class/elements/fields-computed-name-propname-constructor.js
diff --git a/test/language/statements/class/fields-computed-name-static-computed-var-propname-constructor.js b/test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-constructor.js
similarity index 100%
rename from test/language/statements/class/fields-computed-name-static-computed-var-propname-constructor.js
rename to test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-constructor.js
diff --git a/test/language/statements/class/fields-computed-name-static-computed-var-propname-prototype.js b/test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-prototype.js
similarity index 100%
rename from test/language/statements/class/fields-computed-name-static-computed-var-propname-prototype.js
rename to test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-prototype.js
diff --git a/test/language/statements/class/fields-computed-name-static-propname-constructor.js b/test/language/statements/class/elements/fields-computed-name-static-propname-constructor.js
similarity index 100%
rename from test/language/statements/class/fields-computed-name-static-propname-constructor.js
rename to test/language/statements/class/elements/fields-computed-name-static-propname-constructor.js
diff --git a/test/language/statements/class/fields-computed-name-static-propname-prototype.js b/test/language/statements/class/elements/fields-computed-name-static-propname-prototype.js
similarity index 100%
rename from test/language/statements/class/fields-computed-name-static-propname-prototype.js
rename to test/language/statements/class/elements/fields-computed-name-static-propname-prototype.js
diff --git a/test/language/statements/class/fields-duplicate-privatenames.js b/test/language/statements/class/elements/fields-duplicate-privatenames.js
similarity index 100%
rename from test/language/statements/class/fields-duplicate-privatenames.js
rename to test/language/statements/class/elements/fields-duplicate-privatenames.js
diff --git a/test/language/statements/class/fields-hash-constructor-is-a-valid-name.js b/test/language/statements/class/elements/fields-hash-constructor-is-a-valid-name.js
similarity index 100%
rename from test/language/statements/class/fields-hash-constructor-is-a-valid-name.js
rename to test/language/statements/class/elements/fields-hash-constructor-is-a-valid-name.js
diff --git a/test/language/statements/class/fields-literal-name-propname-constructor.js b/test/language/statements/class/elements/fields-literal-name-propname-constructor.js
similarity index 100%
rename from test/language/statements/class/fields-literal-name-propname-constructor.js
rename to test/language/statements/class/elements/fields-literal-name-propname-constructor.js
diff --git a/test/language/statements/class/fields-literal-name-static-propname-constructor.js b/test/language/statements/class/elements/fields-literal-name-static-propname-constructor.js
similarity index 100%
rename from test/language/statements/class/fields-literal-name-static-propname-constructor.js
rename to test/language/statements/class/elements/fields-literal-name-static-propname-constructor.js
diff --git a/test/language/statements/class/fields-literal-name-static-propname-prototype.js b/test/language/statements/class/elements/fields-literal-name-static-propname-prototype.js
similarity index 100%
rename from test/language/statements/class/fields-literal-name-static-propname-prototype.js
rename to test/language/statements/class/elements/fields-literal-name-static-propname-prototype.js
diff --git a/test/language/statements/class/fields-string-name-propname-constructor.js b/test/language/statements/class/elements/fields-string-name-propname-constructor.js
similarity index 100%
rename from test/language/statements/class/fields-string-name-propname-constructor.js
rename to test/language/statements/class/elements/fields-string-name-propname-constructor.js
diff --git a/test/language/statements/class/fields-string-name-static-propname-constructor.js b/test/language/statements/class/elements/fields-string-name-static-propname-constructor.js
similarity index 100%
rename from test/language/statements/class/fields-string-name-static-propname-constructor.js
rename to test/language/statements/class/elements/fields-string-name-static-propname-constructor.js
diff --git a/test/language/statements/class/fields-string-name-static-propname-prototype.js b/test/language/statements/class/elements/fields-string-name-static-propname-prototype.js
similarity index 100%
rename from test/language/statements/class/fields-string-name-static-propname-prototype.js
rename to test/language/statements/class/elements/fields-string-name-static-propname-prototype.js
diff --git a/test/language/statements/class/privatefieldadd-typeerror.js b/test/language/statements/class/elements/privatefieldadd-typeerror.js
similarity index 100%
rename from test/language/statements/class/privatefieldadd-typeerror.js
rename to test/language/statements/class/elements/privatefieldadd-typeerror.js
diff --git a/test/language/statements/class/privatefieldget-success-1.js b/test/language/statements/class/elements/privatefieldget-success-1.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-success-1.js
rename to test/language/statements/class/elements/privatefieldget-success-1.js
diff --git a/test/language/statements/class/privatefieldget-success-2.js b/test/language/statements/class/elements/privatefieldget-success-2.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-success-2.js
rename to test/language/statements/class/elements/privatefieldget-success-2.js
diff --git a/test/language/statements/class/privatefieldget-success-3.js b/test/language/statements/class/elements/privatefieldget-success-3.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-success-3.js
rename to test/language/statements/class/elements/privatefieldget-success-3.js
diff --git a/test/language/statements/class/privatefieldget-success-4.js b/test/language/statements/class/elements/privatefieldget-success-4.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-success-4.js
rename to test/language/statements/class/elements/privatefieldget-success-4.js
diff --git a/test/language/statements/class/privatefieldget-success-5.js b/test/language/statements/class/elements/privatefieldget-success-5.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-success-5.js
rename to test/language/statements/class/elements/privatefieldget-success-5.js
diff --git a/test/language/statements/class/privatefieldget-typeerror-1.js b/test/language/statements/class/elements/privatefieldget-typeerror-1.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-typeerror-1.js
rename to test/language/statements/class/elements/privatefieldget-typeerror-1.js
diff --git a/test/language/statements/class/privatefieldget-typeerror-2.js b/test/language/statements/class/elements/privatefieldget-typeerror-2.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-typeerror-2.js
rename to test/language/statements/class/elements/privatefieldget-typeerror-2.js
diff --git a/test/language/statements/class/privatefieldget-typeerror-3.js b/test/language/statements/class/elements/privatefieldget-typeerror-3.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-typeerror-3.js
rename to test/language/statements/class/elements/privatefieldget-typeerror-3.js
diff --git a/test/language/statements/class/privatefieldget-typeerror-4.js b/test/language/statements/class/elements/privatefieldget-typeerror-4.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-typeerror-4.js
rename to test/language/statements/class/elements/privatefieldget-typeerror-4.js
diff --git a/test/language/statements/class/privatefieldget-typeerror-5.js b/test/language/statements/class/elements/privatefieldget-typeerror-5.js
similarity index 100%
rename from test/language/statements/class/privatefieldget-typeerror-5.js
rename to test/language/statements/class/elements/privatefieldget-typeerror-5.js
diff --git a/test/language/statements/class/privatefieldset-typeerror-1.js b/test/language/statements/class/elements/privatefieldset-typeerror-1.js
similarity index 100%
rename from test/language/statements/class/privatefieldset-typeerror-1.js
rename to test/language/statements/class/elements/privatefieldset-typeerror-1.js
diff --git a/test/language/statements/class/privatefieldset-typeerror-2.js b/test/language/statements/class/elements/privatefieldset-typeerror-2.js
similarity index 100%
rename from test/language/statements/class/privatefieldset-typeerror-2.js
rename to test/language/statements/class/elements/privatefieldset-typeerror-2.js
diff --git a/test/language/statements/class/privatefieldset-typeerror-3.js b/test/language/statements/class/elements/privatefieldset-typeerror-3.js
similarity index 100%
rename from test/language/statements/class/privatefieldset-typeerror-3.js
rename to test/language/statements/class/elements/privatefieldset-typeerror-3.js
diff --git a/test/language/statements/class/privatefieldset-typeerror-4.js b/test/language/statements/class/elements/privatefieldset-typeerror-4.js
similarity index 100%
rename from test/language/statements/class/privatefieldset-typeerror-4.js
rename to test/language/statements/class/elements/privatefieldset-typeerror-4.js
diff --git a/test/language/statements/class/privatefieldset-typeerror-5.js b/test/language/statements/class/elements/privatefieldset-typeerror-5.js
similarity index 100%
rename from test/language/statements/class/privatefieldset-typeerror-5.js
rename to test/language/statements/class/elements/privatefieldset-typeerror-5.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-1.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-1.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-1.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-1.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-2.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-2.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-2.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-2.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-3.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-3.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-3.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-3.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-4.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-4.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-4.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-4.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-5.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-5.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-5.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-5.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-6.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-6.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-6.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-6.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-7.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-7.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-7.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-7.js
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-8.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-8.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-earlyerr-script-8.js
rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-8.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-1.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-1.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-1.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-1.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-2.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-2.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-2.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-2.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-3.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-3.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-3.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-3.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-4.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-4.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-4.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-4.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-5.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-5.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-5.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-5.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-6.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-6.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-6.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-6.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-7.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-7.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-7.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-7.js
diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-8.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-8.js
similarity index 100%
rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-8.js
rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-8.js
diff --git a/test/language/statements/class/privatename-valid-no-earlyerr.js b/test/language/statements/class/elements/privatename-valid-no-earlyerr.js
similarity index 100%
rename from test/language/statements/class/privatename-valid-no-earlyerr.js
rename to test/language/statements/class/elements/privatename-valid-no-earlyerr.js
diff --git a/test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/elements/static-fielddefinition-initializer-abrupt-completion.js
similarity index 100%
rename from test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js
rename to test/language/statements/class/elements/static-fielddefinition-initializer-abrupt-completion.js
diff --git a/test/language/statements/class/static-private-fields-proxy-default-handler-throws.js b/test/language/statements/class/elements/static-private-fields-proxy-default-handler-throws.js
similarity index 100%
rename from test/language/statements/class/static-private-fields-proxy-default-handler-throws.js
rename to test/language/statements/class/elements/static-private-fields-proxy-default-handler-throws.js
diff --git a/test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/elements/super-fielddefinition-initializer-abrupt-completion.js
similarity index 100%
rename from test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js
rename to test/language/statements/class/elements/super-fielddefinition-initializer-abrupt-completion.js