module structure complete with dispatch