final version v4.0