the first part of the viewprisoner model