Adding normalize and dot product.
diff --git a/Source/Vec2D.cpp b/Source/Vec2D.cpp
index fafd5d4..449ba60 100644
--- a/Source/Vec2D.cpp
+++ b/Source/Vec2D.cpp
@@ -44,4 +44,22 @@
 {
 	result[0] = a[0];
 	result[1] = a[1];
+}
+
+void Vec2D::normalize(Vec2D& result, const Vec2D& a)
+{
+	float x = a[0];
+	float y = a[1];
+	float len = x*x + y*y;
+	if (len > 0) 
+	{
+		len = 1.0f / std::sqrt(len);
+		result[0] = a[0] * len;
+		result[1] = a[1] * len;
+    }
+}
+
+float Vec2D::dot(const Vec2D& a, const Vec2D& b)
+{
+	return a[0] * b[0] + a[1] * b[1];
 }
\ No newline at end of file
diff --git a/Source/Vec2D.hpp b/Source/Vec2D.hpp
index 69b5e4e..93a3b7c 100644
--- a/Source/Vec2D.hpp
+++ b/Source/Vec2D.hpp
@@ -24,6 +24,8 @@
 			static void subtract(Vec2D& result, const Vec2D& a, const Vec2D& b);
 			static float length(const Vec2D& a);
 			static void copy(Vec2D& result, const Vec2D& a);
+			static void normalize(Vec2D& result, const Vec2D& a);
+			static float dot(const Vec2D& a, const Vec2D& b);
 	};
 }
 #endif
\ No newline at end of file