still working on simplifying ModuleStack