Draft: modules #1

Draft
pleshevskiy wants to merge 15 commits from modules into main

15 commits