WIP: clean code step3