Main module and test