Added most of the documentation

We just have the class diagram to add