ftr isolate functions common to all backends