callback bug fix(use void)