code restructure + rewrite
a comment