Update first version(unfinished)