put everything inside a module