brought in factory method and updating license