add multi-level module generation