final version3