introduction to patterns