issue#35 part1  clean code