This document discusses a programming environment called Loop that is designed to support a prototype-based introduction to object-oriented programming (OOP) for students who have only previously learned structured programming. Loop aims to ease the paradigm shift by starting with a custom environment that delays introducing classes and inheritance, instead focusing on messages, objects, and their interactions through a live object diagram and explicit differentiation between objects and references.