example for module pattern