diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e561f46
--- /dev/null
+++ b/README.md
@@ -0,0 +1,59 @@
+# 🎥 OpenGL Mathematics (glm) for `C`
+
+The original glm library is for C++ only (templates, namespaces, classes...), this library targeted to C99 but currently you can use it for C89 safely by language extensions e.g `__register`
+
+
+
+
+
+ |
+ Like some other graphics libraries (especially OpenGL) this library use Column-Major layout to keep matrices in the memory.
+
+ In the future the library may support an option to use row-major layout, CURRENTLY if you need to row-major layout you will need to transpose it.
+ |
+
+
+ |
+
+
+
+
+This library is header only so you dont need link to application. All functions are marked inline (always_inline) so compiler probably will inline all these functions
+
+Most of math functions are optimized manualy with SSE2 if available, if not? Dont worry there are non-sse versions of all operations
+
+Why manual? Because this will decrease *compile time* and some operations are faster than compiler optimization.
+
+This library offers:
+
+- Simple usage
+- Small memory usage
+- Fast compiling time
+- The codes are small and more readable than C++ templates, metafuncs
+- Optimized operations with SIMD and non-SIMD
+- Small code size
+- All operations are inline (if compiler will do), no function call overhead
+- Chain matrix multiplication (square only)
+
+You can pass matrices and vectors as array to functions rather than get address.
+
+```C
+ mat4 m = {
+ 1, 0, 0, 0,
+ 0, 1, 0, 0,
+ 0, 0, 1, 0,
+ 0, 0, 0, 1
+ };
+
+ glm_translate(m, (vec3){1.0f, 0.0f, 0.0f});
+```
+
+##License
+MIT. check the LICENSE file
+
+##Install
+Import the library to your include folder, thats it!
+
+##Notes
+
+- This library uses float types only, does not support Integers, Double... yet