diff --git a/pages/docs/index.md b/pages/docs/index.md
index 7a6e72b0118c438f160eb49505bd1490e9e1230a..d81ed720b1bb53311f7e0ad6bf8a7b94a03aea28 100644
--- a/pages/docs/index.md
+++ b/pages/docs/index.md
@@ -5,19 +5,19 @@
 `RAGO` is the first REST API fuzzing tool modeled in [JastAdd](https://jastadd.cs.lth.se/).
 
 
-First of all, This tool parses [an OpenAPI specification (OAS)](https://swagger.io/specification/) in Java classes and transfers it into JastAdd Objects. These Objects are able to be re-transformed and saved in JSON which describes its API Specification, if needed.
+First of all, This tool parses [an OpenAPI specification (OAS)](https://swagger.io/specification/) in Java classes and transfers it into `AST-Node`. These Nodes are able to be re-transformed and saved in JSON which describes its API Specification, if needed.
 
 ![](img/parser.png)
 
 
-After the parsing phase, `RAGO` is prepared to generate tests automatically in two different ways based on Fuzzing, `Random Testing` and `Parameter Inference`.
+After the parsing phase, `RAGO` is prepared to generate tests automatically in two different ways based on Fuzzing, [Random Testing](#ragoRandTest) and [Parameter Inference](#ragoParamInf).
 
 ## OpenAPI Specification in JastAdd
 
-[OpenAPI specification (OAS)](https://swagger.io/specification/) defines a standard, language-agnostic interface to RESTful APIs which allows both humans and computers and is represented in JSON or YAML. Consequently, it is able to use OAS in Java, following in JastAdd.
+[OpenAPI specification (OAS)](https://swagger.io/specification/) defines a standard, language-agnostic interface to RESTful APIs which allows both humans and computers and is represented in JSON or YAML. It consists of 30 objects and is structured in a tree-shape.
 
 
-To understand better how OpenAPI documentations could be transformed in JastAdd, compare the following part of the JastAdd-grammar and [OpenAPI Object description](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasObject)
+To understand better how OpenAPI documentations could be transformed in JastAdd, compare the following Object in the JastAdd-grammar and [OpenAPI Object description](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasObject)
 ```
 OpenAPIObject ::=   <OpenAPI> <JsonSchemaDialect> I:InfoObject Serv:ServerObject*
                     P:PathsObject* W:Webhook* C:ComponentsObject Sr:SecurityRequirementObject*
@@ -25,8 +25,19 @@ OpenAPIObject ::=   <OpenAPI> <JsonSchemaDialect> I:InfoObject Serv:ServerObject
 ```
 ![](img/openapi.png)
 
+
+There are some implementation details developers must consider:
+- JastAdd doesn't support `Map`. So, it must be constructed in a tuple (AST-Node). e.g. `ServerVariablesTuple ::= <Name> S:ServerVariableObject;` <-> `variables` in [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)
+- In OAS, several objects can be replaced by [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject). In `RAGO`, we implemented this structure in an abstract node to every concerned object. e.g. [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) 
+  ``` 
+  abstract ParameterOb;
+  ParameterReference : ParameterOb ::= <Ref> ...;
+  ParameterObject : ParameterOb ::= <Name> <In> ...;
+  ```
+- Most objects can be extended with `Extension` containing unfixed name and values. In JastAdd, this is also implemented in a tuple (AST-Node) `Extension ::= <Key> <Value:Object>;`
+
 ## Fuzzing Methods
 
-### Random Testing
+### <a name="ragoRandTest"></a>Random Testing
 
-### Parameter Inference
\ No newline at end of file
+### <a name="ragoParamInf"></a>Parameter Inference
\ No newline at end of file