Refactoring the interface