some refactoring proceeded