added support for modules - and an example module