def __init__(self, datadir=None, options=None):
        """ Provides the core functionality to configure the used software 
        repositories, the corresponding authentication keys and 
        update automation """
        self.popconfile = "/etc/popularity-contest.conf"

        # FIXME: some saner way is needed here
        if datadir == None:
            datadir = "/usr/share/software-properties/"
        self.datadir = datadir

        self.sourceslist = SourcesList()
        self.distro = aptsources.distro.get_distro()

        self.seen_server = []
        self.modified_sourceslist = False

        self.reload_sourceslist()
        self.backup_sourceslist()

        self.backup_apt_conf()

        # FIXME: we need to store this value in a config option
        #self.custom_mirrors = ["http://adasdwww.de/ubuntu"]
        self.custom_mirrors = []

        # apt-key stuff
        self.apt_key = AptAuth()