implement basic adapter switching