Extracting interface, reorganizing
Refactoring