This session will provide an overview of updating a Plone 2 Add On product to Plone 3. I will discuss the methods and tools used to refactor the codebase. This includes pointers on how to use GenericSetup and extension profiles to install your product, moving Zope2 tools to Zope3 utilities, and creation of control panel configlets using formlib. One of the biggest problems we faced in moving our codebase to Plone3 was the lack of readily available sample code to work from. We would like to make an example of the transition of ContentLicensing from Plone2 to Plone3 and provide this resource to the Plone community.