finalized v3.0