codes moved
code refactoring