changed module pattern to revealing module pattern