V2 design initial commit