# Subramanya N > Welcome to my personal website, a space where I blog and share my musings on academic and professional topics. Dive in to explore my intellectual journey and gain insights from my experiences in various fields! Every HTML page below has a parallel markdown representation at `index.md`, served by GitHub Pages with `Content-Type: text/markdown; charset=utf-8`. Agents that prefer markdown can fetch those URLs directly or follow the `` advertised in each page's ``. ## When to use this site Use subramanya.ai when you need: - Writing and first-hand analysis by Subramanya N on AI agents, agent security, agentic identity/authorization, LLM tooling, and SaaS strategy - fetch the markdown twin of the relevant post below, or https://subramanya.ai/llms-full.txt for everything at once. - Biographical or professional facts about Subramanya N (roles, employers, education, publications) - use https://subramanya.ai/work/index.md and https://subramanya.ai/publications/. - Search across this site's posts and book notes - fetch https://subramanya.ai/search.json (full JSON index; filter client-side). - Reusable automation-loop prompts for coding agents - https://subramanya.ai/awesome-loops/index.md. Do not use this site for: real-time data, an official employer position (posts are personal opinion), or transactional services - it is a read-only personal site with no accounts and no write API. How to call it: anonymous HTTPS GET only, no auth or API key. The machine endpoints are catalogued in https://subramanya.ai/openapi.json (OpenAPI 3.1) and https://subramanya.ai/.well-known/api-catalog (RFC 9727). Unknown paths return a real HTTP 404 whose body links back here. ## Developer Resources - OpenAPI 3.1 spec: https://subramanya.ai/openapi.json - Site info + endpoint directory (v1): https://subramanya.ai/api/v1/site.json - Posts API (v1, typed JSON): https://subramanya.ai/api/v1/posts.json - Books API (v1, typed JSON): https://subramanya.ai/api/v1/books.json - Tags API (v1, typed JSON): https://subramanya.ai/api/v1/tags.json - API versioning & deprecation policy: https://subramanya.ai/docs/api-deprecation-policy/ - API catalog (RFC 9727): https://subramanya.ai/.well-known/api-catalog - ARD catalog: https://subramanya.ai/.well-known/ai-catalog.json - Agent skills index: https://subramanya.ai/.well-known/agent-skills/index.json - Auth walkthrough (anonymous, no credentials): https://subramanya.ai/auth.md - Scoped llms.txt: https://subramanya.ai/docs/llms.txt (docs), https://subramanya.ai/api/llms.txt (API) - Source repository: https://github.com/subramanya1997/subramanya1997.github.io - Developer docs index: https://subramanya.ai/docs/ (md: https://subramanya.ai/docs/index.md) - Search index (JSON): https://subramanya.ai/search.json - Blog RSS feed: https://subramanya.ai/feed.xml - Sitemap: https://subramanya.ai/sitemap.xml - Contact: https://subramanya.ai/contact/ (md: https://subramanya.ai/contact/index.md) - Privacy policy: https://subramanya.ai/privacy/ (md: https://subramanya.ai/privacy/index.md) ## About - [Home](https://subramanya.ai/) (md: https://subramanya.ai/index.md) - [Work Experience](https://subramanya.ai/work/) (md: https://subramanya.ai/work/index.md) - [Blog](https://subramanya.ai/blog/) (md: https://subramanya.ai/blog/index.md) - [Books](https://subramanya.ai/books/) (md: https://subramanya.ai/books/index.md) - [Tags](https://subramanya.ai/tags/) (md: https://subramanya.ai/tags/index.md) - [Resume/CV](https://subramanya.ai/assets/resume/CV.pdf) ## Blog Posts - [Inside a 3,056-rated farming agent](https://subramanya.ai/2026/09/30/kaggriculture-autoresearch/) (md: https://subramanya.ai/2026/09/30/kaggriculture-autoresearch/index.md): I used coding agents to research a competitive farming policy. It reached a live rating of 3,056.31, but the final... - [Break In, Break Out: What 2026 Taught Us About AI Agent Security](https://subramanya.ai/2026/08/17/break-in-break-out-ai-agent-security-in-2026/) (md: https://subramanya.ai/2026/08/17/break-in-break-out-ai-agent-security-in-2026/index.md): In July 2026, the autonomous attacker that broke into Hugging Face turned out to be an AI model its own... - [Fixing B2B Commerce Search in the Age of AI](https://subramanya.ai/2026/08/06/fixing-b2b-commerce-search-in-the-age-of-ai/) (md: https://subramanya.ai/2026/08/06/fixing-b2b-commerce-search-in-the-age-of-ai/index.md): I audited 775,000 product records powering search for four B2B distributors. The consumer giants have already published how to fix... - [Context Engineering: Why Prompt Engineering Was Never Enough](https://subramanya.ai/2026/04/23/context-engineering-why-prompt-engineering-was-never-enough/) (md: https://subramanya.ai/2026/04/23/context-engineering-why-prompt-engineering-was-never-enough/index.md): By 2026, the real job in modern AI systems is not writing a clever prompt. It is deciding what the... - [The Filesystem Is the Database: Why Agents Need a New Storage Primitive](https://subramanya.ai/2026/04/13/the-filesystem-is-the-database-why-agents-need-a-new-storage-primitive/) (md: https://subramanya.ai/2026/04/13/the-filesystem-is-the-database-why-agents-need-a-new-storage-primitive/index.md): RAG pipelines gave agents memory. But the next wave of agentic infrastructure is converging on a different primitive entirely: the... - [The SaaSpocalypse: A Survival Guide](https://subramanya.ai/2026/02/23/the-saaspocalypse-a-survival-guide/) (md: https://subramanya.ai/2026/02/23/the-saaspocalypse-a-survival-guide/index.md): Nearly $1 trillion wiped from software stocks in a week. This is not a mass extinction—it's a cleansing fire. Here's... - [2026: The Year SaaS Disappeared Into the Conversation](https://subramanya.ai/2026/02/19/the-year-saas-disappeared-into-the-conversation/) (md: https://subramanya.ai/2026/02/19/the-year-saas-disappeared-into-the-conversation/index.md): SaaS is shifting from dashboards and clicks to personalized, voice-enabled AI agents that execute outcomes. In 2026, the winning software... - [OpenClaw and the Rise of User-Built Intelligence: A Wake-Up Call for SaaS](https://subramanya.ai/2026/02/01/openclaw-and-the-rise-of-user-built-intelligence-a-wake-up-call-for-saas/) (md: https://subramanya.ai/2026/02/01/openclaw-and-the-rise-of-user-built-intelligence-a-wake-up-call-for-saas/index.md): OpenClaw has exploded in popularity with over 114,000 GitHub stars in just two months. It represents a fundamental shift in... - [The Agentic Workspace: A Strategic Imperative for the Next Era of SaaS](https://subramanya.ai/2026/01/19/the-agentic-workspace-a-strategic-imperative-for-the-next-era-of-saas/) (md: https://subramanya.ai/2026/01/19/the-agentic-workspace-a-strategic-imperative-for-the-next-era-of-saas/index.md): Traditional SaaS is under siege from AI agents. The winners won't just add AI features—they'll become agentic workspaces that orchestrate... - [Context Graphs Are a Trillion-Dollar Opportunity. But Who Actually Captures It?](https://subramanya.ai/2026/01/14/context-graphs-are-a-trillion-dollar-opportunity-but-who-captures-it/) (md: https://subramanya.ai/2026/01/14/context-graphs-are-a-trillion-dollar-opportunity-but-who-captures-it/index.md): The concept of Context Graphs has rapidly captured the industry's imagination. The thesis is that the next trillion-dollar enterprise platforms... - [A Year with Cursor: How My Workflow Evolved from Agent to Architect](https://subramanya.ai/2026/01/04/a-year-with-cursor-how-my-workflow-evolved-from-agent-to-architect/) (md: https://subramanya.ai/2026/01/04/a-year-with-cursor-how-my-workflow-evolved-from-agent-to-architect/index.md): My journey with Cursor mirrors the maturation of the tool itself: from a simple agent to a sophisticated architectural partner.... - [What Are Context Graphs, Really?](https://subramanya.ai/2026/01/01/what-are-context-graphs-really/) (md: https://subramanya.ai/2026/01/01/what-are-context-graphs-really/index.md): The conversation around context graphs has exploded, but the term itself has become a Rorschach test. This is not about... - [Context Graphs: My Thoughts on the Trillion Dollar Evolution of Agentic Infrastructure](https://subramanya.ai/2025/12/26/context-graphs-my-thoughts-on-the-trillion-dollar-evolution-of-agentic-memory/) (md: https://subramanya.ai/2025/12/26/context-graphs-my-thoughts-on-the-trillion-dollar-evolution-of-agentic-memory/index.md): After reading Jaya Gupta's post about Context Graphs, I have not been able to stop thinking about it. For me,... - [2025: The Year Agentic AI Got Real (What Comes Next)](https://subramanya.ai/2025/12/23/2025-the-year-agentic-ai-got-real-and-what-comes-next/) (md: https://subramanya.ai/2025/12/23/2025-the-year-agentic-ai-got-real-and-what-comes-next/index.md): If 2024 was the year of AI experimentation, 2025 was the year of industrialization. The speculative boom around generative AI... - [Agent Skills: The Missing Piece of the Enterprise AI Puzzle](https://subramanya.ai/2025/12/18/agent-skills-the-missing-piece-of-the-enterprise-ai-puzzle/) (md: https://subramanya.ai/2025/12/18/agent-skills-the-missing-piece-of-the-enterprise-ai-puzzle/index.md): The enterprise AI landscape is at a critical juncture. We have powerful general-purpose models and a growing ecosystem of tools.... - [From Boom to Build-Out: The State of Enterprise AI in 2026](https://subramanya.ai/2025/12/10/from-boom-to-build-out-the-state-of-enterprise-ai-in-2026/) (md: https://subramanya.ai/2025/12/10/from-boom-to-build-out-the-state-of-enterprise-ai-in-2026/index.md): The era of AI experimentation is over. What began as a speculative boom has rapidly industrialized into the fastest-scaling software... - [The Three-Platform Problem in Enterprise AI](https://subramanya.ai/2025/12/07/the-three-platform-problem-in-enterprise-ai/) (md: https://subramanya.ai/2025/12/07/the-three-platform-problem-in-enterprise-ai/index.md): Enterprise AI has a platform problem. The tools to build AI-powered applications exist, but they're scattered across three disconnected ecosystems—each... - [The Platform Convergence: Why the Future of AI SaaS is Headless-First](https://subramanya.ai/2025/12/02/the-platform-convergence-why-the-future-of-ai-saas-is-headless-first/) (md: https://subramanya.ai/2025/12/02/the-platform-convergence-why-the-future-of-ai-saas-is-headless-first/index.md): The AI agent market is fragmenting into two incomplete categories: Agent Builders that democratize creation but lack governance, and AI... - [MCP Enterprise Readiness: How the 2025-11-25 Spec Closes the Production Gap](https://subramanya.ai/2025/12/01/mcp-enterprise-readiness-how-the-2025-11-25-spec-closes-the-production-gap/) (md: https://subramanya.ai/2025/12/01/mcp-enterprise-readiness-how-the-2025-11-25-spec-closes-the-production-gap/index.md): The Model Context Protocol's first anniversary release isn't just a milestone—it's a strategic inflection point. With asynchronous Tasks, enterprise-grade OAuth,... - [The Governance Stack: Operationalizing AI Agent Governance at Enterprise Scale](https://subramanya.ai/2025/11/20/the-governance-stack-operationalizing-ai-agent-governance-at-enterprise-scale/) (md: https://subramanya.ai/2025/11/20/the-governance-stack-operationalizing-ai-agent-governance-at-enterprise-scale/index.md): With 88% of organizations now deploying AI agents in production, governance has shifted from a theoretical concern to an operational... - [Why Private Registries are the Future of Enterprise Agentic Infrastructure](https://subramanya.ai/2025/11/17/why-private-registries-are-the-future-of-enterprise-agentic-infrastructure/) (md: https://subramanya.ai/2025/11/17/why-private-registries-are-the-future-of-enterprise-agentic-infrastructure/index.md): With 79% of companies already adopting AI agents, a critical governance gap has emerged. Without robust management frameworks, organizations risk... - [From Espionage to Identity: Securing the Future of Agentic AI](https://subramanya.ai/2025/11/14/from-espionage-to-identity-securing-the-future-of-agentic-ai/) (md: https://subramanya.ai/2025/11/14/from-espionage-to-identity-securing-the-future-of-agentic-ai/index.md): Anthropic has detailed its disruption of the first publicly reported cyber espionage campaign orchestrated by a sophisticated AI agent. The... - [Claude Skills vs. MCP: A Tale of Two AI Customization Philosophies](https://subramanya.ai/2025/10/30/claude-skills-vs-mcp-a-tale-of-two-ai-customization-philosophies/) (md: https://subramanya.ai/2025/10/30/claude-skills-vs-mcp-a-tale-of-two-ai-customization-philosophies/index.md): Anthropic has introduced two powerful but distinct approaches to AI customization: Claude Skills and the Model Context Protocol (MCP). While... - [Beyond "Non-Deterministic": Deconstructing the Illusion of Randomness in LLMs](https://subramanya.ai/2025/09/09/beyond-non-deterministic-deconstructing-the-illusion-of-randomness-in-llms/) (md: https://subramanya.ai/2025/09/09/beyond-non-deterministic-deconstructing-the-illusion-of-randomness-in-llms/index.md): Attributing an LLM's behavior to 'non-determinism' is like blaming a complex system's emergent behavior on magic. It's an admission of... - [The Architectural Revolution: Why AI Agents Shatter Traditional Design Patterns](https://subramanya.ai/2025/07/21/the-architectural-revolution-why-ai-agents-shatter-traditional-design-patterns/) (md: https://subramanya.ai/2025/07/21/the-architectural-revolution-why-ai-agents-shatter-traditional-design-patterns/index.md): For decades, software architects have operated under a fundamental assumption: we design systems, and systems execute our designs. AI agents... - [Do Agents Need Their Own Identity?](https://subramanya.ai/2025/07/15/do-agents-need-their-own-identity/) (md: https://subramanya.ai/2025/07/15/do-agents-need-their-own-identity/index.md): As AI agents become more sophisticated and autonomous, a fundamental question is emerging: should agents operate under user credentials, or... - [Securing AI Assistants: Why Your Favorite Apps Need Digital IDs for Their AI](https://subramanya.ai/2025/07/01/securing-ai-assistants-digital-ids-for-ai/) (md: https://subramanya.ai/2025/07/01/securing-ai-assistants-digital-ids-for-ai/index.md): As AI assistants on platforms like Instagram, Facebook, and Booking.com become more autonomous, they need proper digital identities to securely... - [From Gateway to Guardian: The Evolution of MCP Security](https://subramanya.ai/2025/06/21/from-gateway-to-guardian-the-evolution-of-mcp-security/) (md: https://subramanya.ai/2025/06/21/from-gateway-to-guardian-the-evolution-of-mcp-security/index.md): While AWS's MCP Gateway solves operational challenges, production AI systems demand evolution from basic centralization to identity-aware security guardians that... - [Securing MCP with OIDC & OIDC-A: Identity-Aware API Gateways Beyond "Glorified API Calls"](https://subramanya.ai/2025/05/21/securing-mcp-with-oidc-and-oidc-a-identity-aware-gateway/) (md: https://subramanya.ai/2025/05/21/securing-mcp-with-oidc-and-oidc-a-identity-aware-gateway/index.md): Integrating OpenID Connect (OIDC) and the new OIDC-A agent extension with an identity-aware API gateway to securely authenticate users, LLM... - [OpenID Connect for Agents (OIDC-A) 1.0 Proposal](https://subramanya.ai/2025/04/28/oidc-a-proposal/) (md: https://subramanya.ai/2025/04/28/oidc-a-proposal/index.md): Technical proposal for extending OpenID Connect Core 1.0 to provide a framework for representing, authenticating, and authorizing LLM-based agents within... - [AI Agents and Agentic Security: The Next Frontier in Enterprise Automation](https://subramanya.ai/2024/12/10/ai-agents-agentic-security-enterprise-automation/) (md: https://subramanya.ai/2024/12/10/ai-agents-agentic-security-enterprise-automation/index.md): Exploring the potential of AI agents in enterprise security and automation, and how they can enhance security operations. - [A feat of strength MVP for AI Apps](https://subramanya.ai/2024/02/20/a-feat-of-strength-mvp-for-ai-apps/) (md: https://subramanya.ai/2024/02/20/a-feat-of-strength-mvp-for-ai-apps/index.md): Exploring the concept of a Minimum Viable Product (MVP) in AI applications, focusing on delivering value by understanding and addressing... - [Enhancing Document Interactions - Leveraging the synergy of Google Cloud Platform, Pinecone, and LLM in Natural Language Communication](https://subramanya.ai/2023/06/10/enhancing-document-interactions/) (md: https://subramanya.ai/2023/06/10/enhancing-document-interactions/index.md): Explore the groundbreaking fusion of Google Cloud Platform for OCR, Pinecone, and Large Language Model that is transforming information retrieval.... - [Hybrid Search for E-Commerce with Pinecone and LLMs](https://subramanya.ai/2023/05/02/hybrid-search-for-e-commerce-with-pinecone-and-LLM/) (md: https://subramanya.ai/2023/05/02/hybrid-search-for-e-commerce-with-pinecone-and-LLM/index.md): Learn how to build a powerful hybrid search system for e-commerce applications by combining traditional information retrieval methods with machine... - [Demystifying the Shell Scripting: Working with Files and Directories](https://subramanya.ai/2023/01/04/demystifying-the-shell-scripting-working-with-files-and-directories/) (md: https://subramanya.ai/2023/01/04/demystifying-the-shell-scripting-working-with-files-and-directories/index.md): Master the art of working with files and directories in shell scripting to streamline your tasks and improve efficiency. Learn... - [Demystifying the Shell Scripting: Advanced Techniques and Best Practices](https://subramanya.ai/2022/12/28/demystifying-the-shell-scripting-advanced-techniques-and-best-practices/) (md: https://subramanya.ai/2022/12/28/demystifying-the-shell-scripting-advanced-techniques-and-best-practices/index.md): Building upon the fundamentals of shell scripting, this guide delves into advanced techniques and best practices that will elevate your... - [Demystifying the Shell Scripting: A Beginner's Guide](https://subramanya.ai/2022/12/28/demystifying-the-shell-scripting-a-beginners-guide/) (md: https://subramanya.ai/2022/12/28/demystifying-the-shell-scripting-a-beginners-guide/index.md): Shell scripting is a powerful tool that enables users to automate tasks, perform complex operations, and create custom commands. In... - [Demystifying the Shell: A Beginner's Guide](https://subramanya.ai/2022/12/28/demystifying-the-shell-a-beginners-guide/) (md: https://subramanya.ai/2022/12/28/demystifying-the-shell-a-beginners-guide/index.md): Discover the power of the shell, a command-line interface that allows you to interact with your computer's operating system more... - [Version Control (Git)](https://subramanya.ai/2022/12/21/version-control/) (md: https://subramanya.ai/2022/12/21/version-control/index.md): How to use version control _properly_, and take advantage of it to save you from disaster, collaborate with others, and... ## Books - [Navigating UMass Amherst: A Handbook for International Students](https://subramanya.ai/navigating-umass-amherst-a-handbook-for-international-students) (md: https://subramanya.ai/books/navigating-umass-amherst-a-handbook-for-international-students/index.md) ## Automation Loop Marketplace - [Awesome Automation Loops](https://subramanya.ai/awesome-loops/) (md: https://subramanya.ai/awesome-loops/index.md) - [Adversarial review loop](https://subramanya.ai/awesome-loops/adversarial-review-loop/) (md: https://subramanya.ai/awesome-loops/adversarial-review-loop/index.md): Use a fresh context to review a diff against the original requirements, then fix only correctness gaps. - [Chief of staff inbox triage](https://subramanya.ai/awesome-loops/chief-of-staff-inbox-triage/) (md: https://subramanya.ai/awesome-loops/chief-of-staff-inbox-triage/index.md): Recurring inbox and Slack scan that identifies unanswered work, researches context, and drafts replies without sending. - [Explore, plan, code, PR loop](https://subramanya.ai/awesome-loops/explore-plan-code-pr-loop/) (md: https://subramanya.ai/awesome-loops/explore-plan-code-pr-loop/index.md): Separate codebase exploration from implementation, then verify the change and open a reviewable PR. - [Fan-out migration loop](https://subramanya.ai/awesome-loops/fan-out-migration-loop/) (md: https://subramanya.ai/awesome-loops/fan-out-migration-loop/index.md): Generate a file list, test the migration prompt on a small sample, then run the same constrained task across many... - [Feedback to render loop](https://subramanya.ai/awesome-loops/feedback-to-render-loop/) (md: https://subramanya.ai/awesome-loops/feedback-to-render-loop/index.md): Monitor a feedback thread, revise the artifact when comments arrive, re-render, and post the new version for review. - [Full product evaluation loop](https://subramanya.ai/awesome-loops/full-product-evaluation-loop/) (md: https://subramanya.ai/awesome-loops/full-product-evaluation-loop/index.md): Define realistic scenarios for every major capability, fix failures, and rerun the whole evaluation set. - [Goal with test-suite oracle](https://subramanya.ai/awesome-loops/goal-test-suite-migration-loop/) (md: https://subramanya.ai/awesome-loops/goal-test-suite-migration-loop/index.md): Give a long-running agent migration a hard finish line by requiring it to satisfy an existing test suite. - [Memory diff workstream loop](https://subramanya.ai/awesome-loops/memory-diff-workstream-loop/) (md: https://subramanya.ai/awesome-loops/memory-diff-workstream-loop/index.md): Keep a long-running workstream grounded by writing decisions and open loops to disk, then reviewing the diff. - [Nightly changelog loop](https://subramanya.ai/awesome-loops/nightly-changelog-loop/) (md: https://subramanya.ai/awesome-loops/nightly-changelog-loop/index.md): Review the day's changes and update the changelog with user-visible updates or a recorded no-change result. - [Overnight docs sweep](https://subramanya.ai/awesome-loops/overnight-docs-sweep/) (md: https://subramanya.ai/awesome-loops/overnight-docs-sweep/index.md): Review recent code changes, update stale documentation, and open a focused PR before the next workday. - [Post-release baseline loop](https://subramanya.ai/awesome-loops/post-release-baseline-loop/) (md: https://subramanya.ai/awesome-loops/post-release-baseline-loop/index.md): After a release lands, rerun standard benchmarks and store the new baseline with environment details. - [Production data cleanup loop](https://subramanya.ai/awesome-loops/production-data-cleanup-loop/) (md: https://subramanya.ai/awesome-loops/production-data-cleanup-loop/index.md): Audit records against an allowed definition, clean invalid data, improve classification, and prove the retained data is valid. - [Production error sweep](https://subramanya.ai/awesome-loops/production-error-sweep/) (md: https://subramanya.ai/awesome-loops/production-error-sweep/index.md): Scan production logs, fix actionable root causes, verify the fix, and send a concise status update. - [Quality streak loop](https://subramanya.ai/awesome-loops/quality-streak-loop/) (md: https://subramanya.ai/awesome-loops/quality-streak-loop/index.md): Run realistic cases until N pass in a row, restarting the streak whenever a failure is found and fixed. - [Repository cleanup loop](https://subramanya.ai/awesome-loops/repository-cleanup-loop/) (md: https://subramanya.ai/awesome-loops/repository-cleanup-loop/index.md): Inspect branches, worktrees, commits, and PRs; recover valuable work and remove stale state with evidence. - [SEO and GEO visibility loop](https://subramanya.ai/awesome-loops/seo-geo-visibility-loop/) (md: https://subramanya.ai/awesome-loops/seo-geo-visibility-loop/index.md): Audit indexability, answer readiness, structured data, and query coverage, then fix the highest-impact gap and rerun the benchmark. - [Stale-safe batch release loop](https://subramanya.ai/awesome-loops/stale-safe-batch-release-loop/) (md: https://subramanya.ai/awesome-loops/stale-safe-batch-release-loop/index.md): Review pending changes, exclude stale or unfinished work, combine only valid changes, and release from current main. - [Support refund polling loop](https://subramanya.ai/awesome-loops/support-refund-polling-loop/) (md: https://subramanya.ai/awesome-loops/support-refund-polling-loop/index.md): Poll a customer-support chat until an agent joins, then respond quickly with the goal and evidence. - [Test-suite speed loop](https://subramanya.ai/awesome-loops/test-suite-speed-loop/) (md: https://subramanya.ai/awesome-loops/test-suite-speed-loop/index.md): Make a test suite faster without losing coverage or behavior, proving each improvement with repeatable timing. - [Visual verification loop](https://subramanya.ai/awesome-loops/visual-verification-loop/) (md: https://subramanya.ai/awesome-loops/visual-verification-loop/index.md): Compare the implemented UI against a screenshot or design, list differences, fix them, and repeat.