some refactoring
58 files changed