update : more exact language, fix a slightly bug