this change looks odd, if the hastattr is checking buyer