problem patterns