refactor the source code after merging from 'master' branch
intermediate commit