add default callback if it doesn't exist