created an abstract screen class that will handle most of the interfacing