add surface representation

can we put this code block into a separate method on this object (the same pattern as for the `setupFullScreen` function?