base modules and entry point