add module pattern intro