more sane way to handle backends