setup with modules