initial adapter implementations