Wrote documentations for almost everything
This fixes #2