refactor part 1

clean up
refactor part 2

everything be so clean