add type function