Patterns and heuristics