support smart_pallet
ugly implement