[WIP]module pattern