def __init__(self, name=None, description=None, start=None, end=None, location=None,
                 speaker=None, lists=None, master_list=None, id=None):

        if getattr(start, "tzinfo", None) is None:
            raise ValueError()
        if getattr(end, "tzinfo", None) is None:
            raise ValueError()
        
        start, end = convert_to_utc(start, end)
        
        self.name = name
        self.description = description
        self.start = start
        self.end = end
        self.location = location
        self.speaker = speaker
        if master_list not in lists:
            raise ValueError("Master list must be in lists")
        self.lists = lists
        self.master_list = master_list
        self.id = id