finish first v2 version