module structure prototype