refactor/clean code