I'll add that I think hneuer's method is better, but it will change return value without changing the api, which could really mess some people up, ( for the vector3 method)