fixed callback return issue