this is simpler and is guaranteed to do the right thing - assuming the correct backend was selected above