added typename function