extern class definition doc