Fix: backends should be optional