updated first version