forked from: Study Vector3D

