Interface changes. Code refactoring.