final version updated