added a few new adapters, and a bit more conservative handling of lists of sub-objects