only need module generator