Hey @Rox, Thank you for reaching out to us. You really should have a look at the migration guide, as these topics are covered there. We cannot debug every compiler error here for you, nevertheless here are the answers to your three problems: // 1 - That should fix it as the signature is now: // GeData( const CustomDataType & data, Int32 type ) t_data = GeData(bbs, CUSTOMDATATYPE_BITMAPBUTTON); // 2 - Selections are now COW and make a distinction between being mutable and immutable. const BaseSelect* const mySelection = sTag->GetBaseSelect(); // immutable BaseSelect* const mySelection = sTag->GetWritableBaseSelect(); // mutable // 3 - Same story here, GetCustomDataType returns immutable data now, the method is also templated // now, so you do not need to cast things anymore. const InExcludeData* const myList= bc->GetCustomDataType<InExcludeData>(MY_ID); InExcludeData* const myList= bc->GetCustomDataTypeWritableObsolete<InExcludeData>(MY_ID); Cheers, Ferdinand edit: forgot the template argument in BaseContainer::GetCustomDataType