updated protocol after testing with libcloud