update & bug fixed