moved the license work into its own class