add func pointer