added forgiving_dict class