Self-contained loop