moved vec2 functions to a separate header.