added structs a template vec2 and vec3 and working on overloading operators for them