remove some extra & refactoring