add support for generic adaptor