refactor
refactor
refactor
rename function
extract function
refactor
introduce typedef
rename function
refactor
fix typo