introducing the frame buffer