improving abstraction for multiple cloud providers