implement iCustom method