used module pattern