diff --git a/documentation/Documentation.md b/documentation/Documentation.md
index fd387e7..3517577 100644
--- a/documentation/Documentation.md
+++ b/documentation/Documentation.md
@@ -30,6 +30,11 @@ For example if you want to rotate UV in your **_.gdshader_** file, you can use `
Maths nodes
+ Scalar
+
+
+
+
Vector
Distance
diff --git a/documentation/Nodes/Maths/Scalar/SmoothMax.md b/documentation/Nodes/Maths/Scalar/SmoothMax.md
new file mode 100644
index 0000000..36ebba9
--- /dev/null
+++ b/documentation/Nodes/Maths/Scalar/SmoothMax.md
@@ -0,0 +1,29 @@
+# SmoothMax node
+Returns the maximum value between A and B, but smooths out the intersections of A and B based on T. T is the smoothing value if passed 0 function will act as a standard max(), if negative value is passed it will act as [SmoothMin node](/documentation/Nodes/Maths/Scalar/SmoothMin.md).
+
+
+**Inputs**
+|Name|Type|Binding|Description|
+|---|---|---|---|
+|a|float|none|Input A|
+|b|float|none|Input B|
+|t|float|none|Smoothing input|
+
+**Outputs**
+|Name|Type|Binding|Description|
+|---|---|---|---|
+|op|float|None|Smooth maximum between A and B|
+
+**ShaderInc location**
+
`res://addons/ShaderLib/Maths/Scalar/SmoothMax.gdshaderinc`
+
+**Method signature**
+
`float smoothmax(float a, float b, float t)`
+
+**Parameters**
+|Name|Type|Description|
+|---|---|---|
+|a|float|Input A|
+|b|float|Input B|
+|t|float|Smoothing input|
+___
\ No newline at end of file
diff --git a/documentation/Nodes/Maths/Scalar/SmoothMin.md b/documentation/Nodes/Maths/Scalar/SmoothMin.md
new file mode 100644
index 0000000..b639037
--- /dev/null
+++ b/documentation/Nodes/Maths/Scalar/SmoothMin.md
@@ -0,0 +1,29 @@
+# SmoothMin node
+Returns the minimum value between A and B, but smooths out the intersections of A and B based on T. T is the smoothing value if passed 0 function will act as a standard min(), if negative value is passed it will act as [SmoothMax node](/documentation/Nodes/Maths/Scalar/SmoothMax.md).
+
+
+**Inputs**
+|Name|Type|Binding|Description|
+|---|---|---|---|
+|a|float|none|Input A|
+|b|float|none|Input B|
+|t|float|none|Smoothing input|
+
+**Outputs**
+|Name|Type|Binding|Description|
+|---|---|---|---|
+|op|float|None|Smooth minimum between A and B|
+
+**ShaderInc location**
+
`res://addons/ShaderLib/Maths/Scalar/SmoothMin.gdshaderinc`
+
+**Method signature**
+
`float smoothmin(float a, float b, float t)`
+
+**Parameters**
+|Name|Type|Description|
+|---|---|---|
+|a|float|Input A|
+|b|float|Input B|
+|t|float|Smoothing input|
+___
\ No newline at end of file
diff --git a/documentation/Nodes/Maths/Vector/Project.md b/documentation/Nodes/Maths/Vector/Project.md
index 637d86d..f06413b 100644
--- a/documentation/Nodes/Maths/Vector/Project.md
+++ b/documentation/Nodes/Maths/Vector/Project.md
@@ -17,4 +17,23 @@ Projects vector A onto vector B.
|Name|Type|Binding|Description|
|---|---|---|---|
|vector|vector3|None|Output vector|
+
+**ShaderInc location**
+
`res://addons/ShaderLib/Maths/Vector/Project.gdshaderinc`
+
+**Method signature**
+
`vec2 project_2d(vec2 a, vec2 b)`
+
`vec3 project_3d(vec3 a, vec3 b)`
+
+**Parameters for 2D**
+|Name|Type|Description|
+|---|---|---|
+|a|vec2|Vector A|
+|b|vec2|Vector B|
+
+**Parameters for 3D**
+|Name|Type|Description|
+|---|---|---|
+|a|vec3|Vector A|
+|b|vec3|Vector B|
___
\ No newline at end of file
diff --git a/documentation/Nodes/Maths/Vector/ProjectOnPlane.md b/documentation/Nodes/Maths/Vector/ProjectOnPlane.md
index bee7531..e5442fc 100644
--- a/documentation/Nodes/Maths/Vector/ProjectOnPlane.md
+++ b/documentation/Nodes/Maths/Vector/ProjectOnPlane.md
@@ -2,19 +2,26 @@
Projects a vector onto a plane defined by a normal orthogonal to the plane.
-**Controls**
-|Options|Description|
-|---|---|
-|Vector2, Vector3|Vector type to use for calculation|
-
**Inputs**
|Name|Type|Binding|Description|
|---|---|---|---|
-|vector|Dynamic vector|none|Vector to project|
-|plane normal|Dynamic vector|none|Normal orthogonal of the plane|
+|vector|vector3|none|Vector to project|
+|plane normal|vector3|none|Normal orthogonal of the plane|
**Outputs**
|Name|Type|Binding|Description|
|---|---|---|---|
|vector|vector3|None|Output vector|
+
+**ShaderInc location**
+
`res://addons/ShaderLib/Maths/Vector/ProjectOnPlane.gdshaderinc`
+
+**Method signature**
+
`vec3 project_on_plane(vec3 vector, vec3 plane_normal)`
+
+**Parameters**
+|Name|Type|Description|
+|---|---|---|
+|vector|vec3|Input vector|
+|plane_normal|vec3|Normal vector to the plane|
___
\ No newline at end of file
diff --git a/documentation/Nodes/Maths/Wave/SawtoothWave.md b/documentation/Nodes/Maths/Wave/SawtoothWave.md
index 369cec9..424c8f1 100644
--- a/documentation/Nodes/Maths/Wave/SawtoothWave.md
+++ b/documentation/Nodes/Maths/Wave/SawtoothWave.md
@@ -16,4 +16,15 @@ Returns a sawtooth wave from the value of input in. Resulting outp
|Name|Type|Binding|Description|
|---|---|---|---|
|out|Dynamic vector|None|Output value|
+
+**ShaderInc location**
+
`res://addons/ShaderLib/Maths/Wave/SawtoothWave.gdshaderinc`
+
+**Method signature**
+
`vec4 sawtooth_wave(vec4 input)`
+
+**Parameters**
+|Name|Type|Description|
+|---|---|---|
+|input|vec4|Input vector|
___
\ No newline at end of file
diff --git a/documentation/Nodes/Maths/Wave/SquareWave.md b/documentation/Nodes/Maths/Wave/SquareWave.md
index 54739e0..822243c 100644
--- a/documentation/Nodes/Maths/Wave/SquareWave.md
+++ b/documentation/Nodes/Maths/Wave/SquareWave.md
@@ -16,4 +16,15 @@ Returns a square wave from the value of input in. Resulting output
|Name|Type|Binding|Description|
|---|---|---|---|
|out|Dynamic vector|None|Output value|
+
+**ShaderInc location**
+
`res://addons/ShaderLib/Maths/Wave/SquareWave.gdshaderinc`
+
+**Method signature**
+
`vec4 square _wave(vec4 input)`
+
+**Parameters**
+|Name|Type|Description|
+|---|---|---|
+|input|vec4|Input vector|
___
\ No newline at end of file
diff --git a/documentation/Nodes/Maths/Wave/TriangleWave.md b/documentation/Nodes/Maths/Wave/TriangleWave.md
index 6d50b5e..70740e0 100644
--- a/documentation/Nodes/Maths/Wave/TriangleWave.md
+++ b/documentation/Nodes/Maths/Wave/TriangleWave.md
@@ -16,4 +16,15 @@ Returns a triangle wave from the value of input in. Resulting outp
|Name|Type|Binding|Description|
|---|---|---|---|
|out|Dynamic vector|None|Output value|
+
+**ShaderInc location**
+
`res://addons/ShaderLib/Maths/Wave/TriangleWave.gdshaderinc`
+
+**Method signature**
+
`vec4 triangle_wave(vec4 input)`
+
+**Parameters**
+|Name|Type|Description|
+|---|---|---|
+|input|vec4|Input vector|
___
\ No newline at end of file