initial commit of adapter and tests; may move base adapter into seperate component to easily recreate adapters