Minor changes mostly renaming and adding helpers and adding one interface