refactor code
refactor code