added support for pluggable backends