fix polymorphism issue in shipment model