Pattern Design Basics