restructured and renaming
...