add module generation to task