add support for multiple data adapters and dynamic loading of adapters