enclose all modules in function to help with minification