explanation for modules