final version v1.0