extracted class loader generation to provider class