add ctcp function