move typedef to public