now don't print duplicate errors within one context, so I sometimes had to break functions into two functions.