add type argument