updated module structure