modules are hard