fianl version 1