two techniques for modules