fix bug, append some API