Created branch to reduce code duplication and simplify code by harmonizing names of internal variables across backends and moving as much code as possible to the common module.