[+FEATURE] Refactoring for publishing / part 2
[+FEATURE] Refactoring for publishing / part 3
[+FEATURE] Refactoring for publishing / part 4