changes of some refactoring
started 2.0