basic framework of v2