added comments and some functions in vec3