namespace based module structure