finished first version