start v2 with MV* design parttern