moved epg functions into their own class
first version of epg class
changed private funcs to protected funcs as we are now extending from this class (specifically, epg class extends this one)