added abstract cdn upload strategy