Lots of changes.

Now support multiple sets of parameter in one module.