modularise adaptor
rejig tests wip
get tests to pass wip