EntityStructureProvider template and interface updated

probably a working version. still needs to be tested.