refactored openstack adapter