refactore the code