add ability to pass adapter
basic tests