cleanning , refactoring