add cloud provider support

Partially fixes #114