diff --git a/gradle.properties b/gradle.properties
index ea97363..f0830cd 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -4,7 +4,7 @@ kotlin.code.style=official
 specifyKotlinAsDependency=false
 
 projectGroup=ru.dbotthepony.kommons
-projectVersion=2.1.5
+projectVersion=2.1.6
 
 guavaDepVersion=33.0.0
 gsonDepVersion=2.8.9
diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt
index a77a303..0583273 100644
--- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt
+++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt
@@ -191,6 +191,9 @@ data class Vector2d(
 
 	operator fun times(value: Matrix4dStack) = times(value.last())
 
+	fun toDoubleVector() = this
+	fun toFloatVector() = Vector2f(x.toFloat(), y.toFloat())
+
 	companion object {
 		@JvmField val ZERO = Vector2d()
 		@JvmField val POSITIVE_X = Vector2d(x = 1.0)
diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt
index afe580c..09e4fb8 100644
--- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt
+++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt
@@ -192,6 +192,7 @@ data class Vector2f(
 	operator fun times(value: Matrix4fStack) = times(value.last())
 
 	fun toDoubleVector() = Vector2d(x.toDouble(), y.toDouble())
+	fun toFloatVector() = this
 
 	companion object {
 		@JvmField val ZERO = Vector2f()
diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt
index 7a5bb9c..2235524 100644
--- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt
+++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt
@@ -205,6 +205,9 @@ data class Vector3d(
 
 	operator fun times(value: Matrix4dStack) = times(value.last())
 
+	fun toDoubleVector() = this
+	fun toFloatVector() = Vector3f(x.toFloat(), y.toFloat(), z.toFloat())
+
 	companion object {
 		@JvmField val ZERO = Vector3d()
 		@JvmField val POSITIVE_X = Vector3d(x = 1.0)
diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt
index 0446933..8aabfbe 100644
--- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt
+++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt
@@ -206,6 +206,7 @@ data class Vector3f(
 	operator fun times(value: Matrix4fStack) = times(value.last())
 
 	fun toDoubleVector() = Vector3d(x.toDouble(), y.toDouble(), z.toDouble())
+	fun toFloatVector() = this
 
 	companion object {
 		@JvmField val ZERO = Vector3f()
diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt
index 6576d9b..fffead9 100644
--- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt
+++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt
@@ -226,6 +226,9 @@ data class Vector4d(
 
 	operator fun times(value: Matrix4dStack) = times(value.last())
 
+	fun toDoubleVector() = this
+	fun toFloatVector() = Vector4f(x.toFloat(), y.toFloat(), z.toFloat(), w.toFloat())
+
 	companion object {
 		@JvmField val ZERO = Vector4d()
 		@JvmField val POSITIVE_X = Vector4d(x = 1.0)
diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt
index e3b8b4a..4808216 100644
--- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt
+++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt
@@ -229,6 +229,7 @@ data class Vector4f(
 	operator fun times(value: Matrix4fStack) = times(value.last())
 
 	fun toDoubleVector() = Vector4d(x.toDouble(), y.toDouble(), z.toDouble(), w.toDouble())
+	fun toFloatVector() = this
 
 	companion object {
 		@JvmField val ZERO = Vector4f()