diff --git a/Classes.md b/Classes.md
new file mode 100644
index 0000000..a1017de
--- /dev/null
+++ b/Classes.md
@@ -0,0 +1,79 @@
+# Use PascalCase for class names
+
+Class names must be written in [PascalCase](http://wiki.c2.com/?PascalCase).
+
+Example
+
+**Bad**
+
+```PHP
+class mySUPERclass { ... }
+```
+
+**Good**
+
+```PHP
+class MySuperClass { ... }
+```
+
+
+
+_Reference_: [`PEAR.NamingConventions.ValidClassName`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/PEAR/Sniffs/NamingConventions/ValidClassNameSniff.php)
+
+# Do not use final statements inside final classes.
+
+Final classes cannot be extended, so it doesn't make sense to add the final keyword to class members.
+
+Example
+
+**Bad**
+
+```PHP
+final class MyClass {
+ final public function MyFunction() {
+
+ }
+}
+```
+
+**Good** (remove the final keyword from class members)
+
+```PHP
+final class MyClass {
+ public function MyFunction() {
+
+ }
+}
+```
+
+
+
+_Reference_: [`Generic.CodeAnalysis.UnnecessaryFinalModifier`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/CodeAnalysis/UnnecessaryFinalModifierSniff.php)
+
+# Do not override methods to call their parent
+
+It doesn't make sense to override a method only to call their parent. When overriding methods, make sure to add some functionality to it.
+
+Example
+
+**Bad**
+
+```PHP
+class MyClass extends BaseClass {
+ public function BaseFunction() {
+ parent::BaseFunction();
+ }
+}
+```
+
+**Good** (don't override the function)
+
+```PHP
+class MyClass extends BaseClass {
+
+}
+```
+
+
+
+_Reference_: [`Generic.CodeAnalysis.UselessOverridingMethod`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php)
\ No newline at end of file