the prototype that works