make some clean work and refactor work