separate v2 and v3