fix bug and gui add some method