coordinate class now implemented on vector3 to prevent a lot of vector3 copying