added vec3f class