refactoring / some interface changed.