add type func