final version v3.0