exceptions learning and patterns