Creating a Viewer Protocol