Some parts are duplicates (or similar) and should be encapsulated in dedicated functions...
Some parts are duplicates (or similar) and should be encapsulated in dedicated functions...