- interface refactoring