primitive typedef working