added support for custom backends