overview of major types