bugfix & modify