refining the prototype