diff --git a/.gitignore b/.gitignore
index ebcdc07..6a05f34 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,5 +3,5 @@ bin/*
build/*
libs/*
include/*
-orgfile.org
+#orgfile.org
assets/*
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2ad1599
--- /dev/null
+++ b/README.md
@@ -0,0 +1,124 @@
+
+
+# Project Symmetry
+
+## What?
+
+An attempt to convert all previous code written in Project Abstraction(written in C++) to C
+while using as few libraries as possible.
+
+## Why?
+
+- To create a platform on which i will base further projects on.
+- To learn and remove as many black boxes as possible.
+- Profit!?!
+
+# Things TODO
+
+## DONE Input
+
+- State "DONE" from "TODO" [2015-07-02 Thu 01:24]
+- Input maps (addition/removal)
+- Adding removing keys to input maps
+- Changing map na
+
+## DONE Shaders
+
+- State "DONE" from "TODO" [2015-07-11 Sat 17:57]
+- set asset folder
+- load/compile shader
+
+## DONE Geometry
+
+- State "DONE" from "TODO" [2015-07-11 Sat 17:57]
+
+## DONE change struct usage
+
+- State "DONE" from "TODO" [2015-07-21 Tue 15:13]
+
+## DONE change Array implementation
+
+- State "DONE" from "TODO" [2015-07-25 Sat 20:27]
+
+## DONE resolve vec-types sizes
+
+- State "DONE" from "TODO" [2015-07-25 Sat 20:27]
+
+## DONE Transform
+
+- State "DONE" from "TODO" [2015-07-26 Sun 18:01]
+
+## DONE Deltatime
+
+- State "DONE" from "TODO" [2015-07-27 Mon 11:54]
+
+## DONE Investigate about Exit() and atexit() functions and whether to use them or not.
+
+- State "DONE" from "TODO" [2015-08-02 Sun 19:09]
+
+## TODO Entity
+
+## TODO Positive and negative values for inputmaps and returning corresponding values when they are true
+
+## TODO Camera
+
+## TODO Test render
+
+## TODO Bounding Boxes
+
+## TODO Materials
+
+## TODO Mesh/Model
+
+## TODO Heirarchical Transforms
+
+## TODO 2d drawing routines
+
+## TODO Gui
+
+## TODO Physics
+
+## TODO Improve the readme
+
+## TODO ???
+
+## TODO Profit!
diff --git a/orgfile.org b/orgfile.org
new file mode 100644
index 0000000..be0aa7b
--- /dev/null
+++ b/orgfile.org
@@ -0,0 +1,50 @@
+* Project Symmetry
+
+** What?
+An attempt to convert all previous code written in Project Abstraction(written in C++) to C
+while using as few libraries as possible.
+
+** Why?
+- To create a platform on which i will base further projects on.
+- To learn and remove as many black boxes as possible.
+- Profit!?!
+
+
+* Things TODO
+** DONE Input
+ - State "DONE" from "TODO" [2015-07-02 Thu 01:24]
+- Input maps (addition/removal)
+- Adding removing keys to input maps
+- Changing map na
+** DONE Shaders
+ - State "DONE" from "TODO" [2015-07-11 Sat 17:57]
+- set asset folder
+- load/compile shader
+** DONE Geometry
+ - State "DONE" from "TODO" [2015-07-11 Sat 17:57]
+** DONE change struct usage
+ - State "DONE" from "TODO" [2015-07-21 Tue 15:13]
+** DONE change Array implementation
+ - State "DONE" from "TODO" [2015-07-25 Sat 20:27]
+** DONE resolve vec-types sizes
+ - State "DONE" from "TODO" [2015-07-25 Sat 20:27]
+** DONE Transform
+ - State "DONE" from "TODO" [2015-07-26 Sun 18:01]
+** DONE Deltatime
+ - State "DONE" from "TODO" [2015-07-27 Mon 11:54]
+** DONE Investigate about Exit() and at_exit() functions and whether to use them or not.
+ - State "DONE" from "TODO" [2015-08-02 Sun 19:09]
+** TODO Entity
+** TODO Positive and negative values for input_maps and returning corresponding values when they are true
+** TODO Camera
+** TODO Test render
+** TODO Bounding Boxes
+** TODO Materials
+** TODO Mesh/Model
+** TODO Heirarchical Transforms
+** TODO 2d drawing routines
+** TODO Gui
+** TODO Physics
+** TODO Improve the readme
+** TODO ???
+** TODO Profit!
diff --git a/src/game.c b/src/game.c
index 1e019fb..02d2e5a 100644
--- a/src/game.c
+++ b/src/game.c
@@ -14,6 +14,7 @@
#include "geometry.h"
#include "array.h"
#include "transform.h"
+#include "camera.h"
void run(void);
void update(float dt);
@@ -31,6 +32,7 @@ void game_init(void)
io_file_init("/mnt/Dev/Projects/Symmetry/assets/");/* TODO: Implement proper way of getting binary directory */
shader_init();
transform_init();
+ camera_init();
entity_init();
geom_init();
@@ -95,6 +97,7 @@ void game_cleanup(void)
entity_cleanup();
geom_cleanup();
transform_cleanup();
+ camera_cleanup();
input_cleanup();
renderer_cleanup();
io_file_cleanup();
diff --git a/src/linmath.h b/src/linmath.h
index 2a5c833..66ee5ae 100644
--- a/src/linmath.h
+++ b/src/linmath.h
@@ -1,6 +1,8 @@
#ifndef linmath_H
#define linmath_H
+/* Credit : https://github.com/datenwolf/linmath.h */
+
#include
#define LINMATH_H_DEFINE_VEC(n) \