also accept multiple modules