WIP: clean code step1
WIP: clean code step2