Types of Patterns