refactor code
refactor