support callback option