grabs the summary info and sets the corisponding attributes.
        Note: overides existing attribute values for these attributes

def fetch_summary(self):
        """
        grabs the summary info and sets the corisponding attributes.
        Note: overides existing attribute values for these attributes
        """
        self.response_from()
        #should really clean up the triple nest
        for k,v in self.response.items():
            if not isinstance(v,dict):
                setattr(self,k,v)
            else:
                for subk,subv in v.items():
                    if not isinstance(subv,dict):
                        setattr(self,subk,subv)
                    else:
                        for ssk,ssv in subv.items():
                            setattr(self,ssk,ssv)
        self.fetched_summary = True